Hallo,
Ik heb een scriptje wat voor mysql was bedoeld wat aangepast aan interbase.
Het werkt alleen nog niet helemaal goed want als ik de manier zoals hieronder doe,
word het else gedeelte niet gebruikt wanneer er geen resultaat gevonden is.
En als ik ibase_num_fields vervang door ibase_fetch_rows werkt het else gedeelte wel enzo... maar dan word het 1e resultaat niet getoond...
dus bijv ik heb 5 teksten met het woord test
dan komt er te staan :
test 2
test 3
test 4
test 5
maar test 1 blijft weg
Weet iemand hoe dit kan ?
Ik heb een scriptje wat voor mysql was bedoeld wat aangepast aan interbase.
Het werkt alleen nog niet helemaal goed want als ik de manier zoals hieronder doe,
word het else gedeelte niet gebruikt wanneer er geen resultaat gevonden is.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| <? //-- natuurlijk moet er eerst een connectie met de database worden gemaakt: $conn= ibase_connect("localhost:d:\ibase_database\knowledgebase.gdb", "usern", "passw") or die; $lt="<font face='Verdana, Arial, Helvetica, sans-serif' size=1>"; //-- $HTTP_POST_VARS[zoekterm] is de naam van het zoekveld in het formulier wat we //-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code: $sql = "SELECT faq_nr, faq_id, faq_tekst1oplossing, faq_tekst2oplossing, faq_tekst3oplossing ,faq_tekst4oplossing, faq_datum, wn_gebruikersnaam FROM faq F, werknemers W WHERE w.wn_id = F.wn_id AND (faq_tekst1oplossing LIKE '%$HTTP_POST_VARS[zoekterm]%' OR faq_tekst2oplossing LIKE '%$HTTP_POST_VARS[zoekterm]%' OR faq_tekst3oplossing LIKE '%$HTTP_POST_VARS[zoekterm]%' OR faq_tekst4oplossing LIKE '%$HTTP_POST_VARS[zoekterm]%')"; //-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen //-- kijken of er een resultaat is $res = ibase_query($sql); //-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet if (ibase_num_fields($res) >= 1) { //-- er is een resultaat gevonden, toon de resultaten via een while () loop while ($row = get_object_vars(ibase_fetch_object($res))) { $plaktext = "$row[FAQ_TEKST1OPLOSSING]$row[FAQ_TEKST2OPLOSSING]$row[FAQ_TEKST3OPLOSSING]$row[FAQ_TEKST4OPLOSSING]"; $plaktext2 = wordwrap(trim($plaktext), 50, "\n", 1); // tekst van vraag aanelkaar plakken $plaktext3 = htmlspecialchars(trim($plaktext2 )); // nieuwe regel beginnen als er een enter is $bericht= nl2br($plaktext3); echo "<table align=\"center\" bgcolor=\"#000000\" width=\"470\" cellpadding=\"3\" cellspacing=\"1\">"; echo "<tr>"; echo "<td bgcolor=\"#CFE0F3\">$lt Resultaat id: <b>$row[FAQ_ID]</b><br></td>"; echo "</tr>"; echo "<tr>"; echo "<td bgcolor=\"#CFE0F3\">$lt Resultaat tekst:<br><b>$bericht</b></td>"; echo "</tr>"; echo "</table>"; } echo "<a href=\"zoek.php\" title=\"zoek opnieuw\">$lt zoek opnieuw</a>"; } //-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is: else { echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoekterm]</b></p>"; echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>"; } ?> |
En als ik ibase_num_fields vervang door ibase_fetch_rows werkt het else gedeelte wel enzo... maar dan word het 1e resultaat niet getoond...
dus bijv ik heb 5 teksten met het woord test
dan komt er te staan :
test 2
test 3
test 4
test 5
maar test 1 blijft weg
Weet iemand hoe dit kan ?