Jonas Voss wrote:
....
> Søger jeg på Artist, og f.eks. "Blackalicious" får jeg ingen hits (og
> jeg har en CD med dem), men søger jeg på format og "CD" får jeg ganske
> rigtig alle de poster der er CD'ere.
>
> Laver jeg samme søgning via kommandolinien i MySQL med samme syntaks som
> i PHP-scriptet får jeg ét hit, som der også skulle være.
Har du prøvet at udskrive det sql der bliver sendt til mysql? (print
$sql;) så burde du kunne se hvad det er der går galt.. (ved at kopiere
den sætning den sender - ikke det du tror den sender).
Husk også altid at kontrollere for fejl:
$result = mysql_query($sql) or die("Fejl: ".mysql_error());
Iøvrigt vil den aldrig returnere den første række på den måde du gør det
på. Måden du finder ud af om der var nogle hits, gør du ved at sige
if($row=mysql_fetch_array($result))
dvs. den første række bliver lagt i $row, som du aldrig udskriver...
prøv i stedet at rette til:
if ( $searchtype == "artist" ){
$sql = "SELECT * FROM tblDivinyls WHERE fname = \"$searchstr\"";
$result = mysql_query($sql) or die("Fejl: ".mysql_error());
if (mysql_num_rows($result) > 0){
echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\"
width=\"100%\">\n";
echo
"<tr><td>Artist</td><td>title</td><td>Format</td><td>Released</td></tr>\n";
do {
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n",
$myrow["fname"], $myrow["title"], $myrow["format"], $myrow["released"]);
} while ($myrow = mysql_fetch_array($result));
echo "</table>\n";
} else {
print "Sorry, no records were found with \"$searchstr\" in it when
searching on $searchtype";}
}
--
Mvh. Nezar Nielsen
Nano - Advanced Simplicity
http://www.nano.dk/