10. juni 2003 - 14:50Der er
10 kommentarer og 1 løsning
Hjælp til en søgefunktion
Jeg har en database (phpMyAdmin) med varer i. De skal på et tidspunkt opdeles i kategorier, men i første omgang ser jeg lige bort fra det. Hvordan skal min soeg.php - fil se ud, når min .htm ser ud som følger:
Venligst indtast dit søgeord og vælg kategori<br> <br><br>
erstat linien, der begynder med $query = mysql_query... med den her :
$query = mysql_query("SELECT * FROM tabel WHERE kategori='".addslashes($_POST['kategori'])."' AND soegeord LIKE '%".addslashes(str_replace(' ', '%', $_POST['soegeord']."%'");
... addslashes() er ret vigtig når folk kan indtaste fritekst. men også i det hele taget. str_replace() sørger for, at du kan søge på flere ord end et. den er stadig ret kluntet - eks. skal ordene stå i den rækkefølge, de står i, men det er bedre end ingenting.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web/x/x/soeg.php on line 11
Min fil ser således ud:
<?php mysql_connect(x) or die ("Der kunne ikke oprettes forbindelse til databasen"); mysql_select_db(x);
if ($_POST['soegeord']) { echo "Kategori: $_POST['kategori']<br/>"; echo "Soegeord: $_POST['soegeord']<br/><br/>"; $query = mysql_query("SELECT * FROM books WHERE kategori='$_POST[kategori]' AND (title LIKE '%$_POST[soegeord]%' OR author LIKE '%$_POST[soegeord]%' OR publisher LIKE '%$_POST[soegeord]%')"); while ($row = mysql_fetch_array($query)) { if ($row) { echo "Title: $row[title]<br/>"; echo "Author: $row[author]<br/>"; echo "Publisher: $row[publisher]<br/>"; echo "<hr>"; } } } ?>
<?php mysql_connect(x) or die ("Der kunne ikke oprettes forbindelse til databasen"); mysql_select_db(x);
if ($_POST['soegeord']) { echo "Kategori: $_POST['kategori']<br/>"; echo "Soegeord: $_POST['soegeord']<br/><br/>"; $query = mysql_query("SELECT * FROM books WHERE kategori='$_POST[kategori]' AND (title LIKE '%$_POST[soegeord]%' OR author LIKE '%$_POST[soegeord]%' OR publisher LIKE '%$_POST[soegeord]%')") or die(mysql_error()); while ($row = mysql_fetch_array($query)) { if ($row) { echo "Title: $row[title]<br/>"; echo "Author: $row[author]<br/>"; echo "Publisher: $row[publisher]<br/>"; echo "<hr>"; } } } ?>
<?php mysql_connect(x) or die ("Der kunne ikke oprettes forbindelse til databasen"); mysql_select_db(x);
if ($_POST['soegeord']) { echo "Soegeord: $_POST[soegeord]<br/><br/>"; $query = mysql_query("SELECT * FROM books WHERE title LIKE '%$_POST[soegeord]%' OR author LIKE '%$_POST[soegeord]%' OR publisher LIKE '%$_POST[soegeord]%'") or die(mysql_error()); while ($row = mysql_fetch_array($query)) { if ($row) { echo "Title: $row[title]<br/>"; echo "Author: $row[author]<br/>"; echo "Publisher: $row[publisher]<br/>"; echo "<hr>"; } } } ?>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.