Avatar billede asse Nybegynder
28. december 2000 - 00:54 Der er 4 kommentarer og
1 løsning

Udskrift af søgning

Hej!!
Jeg har lavet en form hvor man kan indtaste et søgeord, og en forespørgsel som udskriver alle ord der matcher søgeordet. Mit problem er bare, at jeg kun får udskrevet 4 rækker med firmaer som matcher det pågældende søgeord ($search).
Eksempelvis ved jeg, at der er 6 firmaer i min database som har bogstavet d indeholdt i firmanavnet, men jeg får kun udskrevet 4 rækker, hvis jeg kun skriver d som søgeord??

Nedenfor vises html-forman og php3-koden(den sidste er lidt rodet)

<html>
<head><title>WOTE SØGNING</title></head>
<body bgcolor =\"lightblue\">
<br>
<center>
<h2>Indtast søgeord</h2>
<br>
<form method=\"post\" action=\"resultat.php3\">
<input type=\"text\" name=\"search\">
<input type=\"hidden\" name=\"start\" value=\"go\">
<input type=\"submit\" class=\"button\" value=\" søg \">
<input type=\"reset\" class=\"button\" value=\"reset\">
</form>
</center>
</body>
</html>

Her kommer koden

<html>
<head><title>WOTE RESULTAT</title></head>
<body bgcolor =\"lightblue\">

<?

if($start == \"go\")
{
$conn = mysql_connect(\"localhost\", \"root\")
OR DIE (\"MySQL couldn\'t connect\");

mysql_select_db(\"test\")
OR DIE (\"MySQL couldn\'t find the database\");

$noResult = \"Søgningen gav ingen resultat\";


$result = mysql_query(\"SELECT * FROM firma WHERE fnavn like \'%$search%\' group by fnavn \");
$row = mysql_fetch_row( $result );

if ($row)
{
print( \"<table border = 0 align = center width =30%>\\n\" );
print(\"<td align = center> \");
print(\"<center><h1>Søgeresultat</h1>\\n\" );
print( \"<tr><th align = left>Firmanr<th align=left></tr>Navn</th><th align=center></tr>URL</th><th align=right>Dato</tr></th>\" );
print( \"<tr><td colspan=6><hr noshade></td></tr>\\n\" );

while ($row = mysql_fetch_array($result))

{

$id = $row[\"fnavn\"];
list ( $firma_id, $fnavn, $url, $dato) = $row;
print (\"<tr><td>\".$row[\"firma_id\"].\"</td>\".
\" <td>\".$row[\"fnavn\"].\"</td>\".
\" <td><a href=\'http://$row[url]\'>\" .$row[\"url\"].\"</a></td>\".
\" <td>\".$row[\"dato\"].\"</td>\".
\"<br><p>\");
print( \"<tr><td colspan=6><hr noshade></td></tr>\\n\" );

}

}

if (!$id)
{
print (\"$noResult\");
}
}
?>
</body>
</html>
Hvis der er nogen der kan gennemskue hvad der er galt, så giv mig besked og jeg vil være dig evigt taknemlig.
M.V.H Asse
Avatar billede lp Nybegynder
28. december 2000 - 00:56 #1
kunne de 2 som ikke kommer med være med et stort D ?
Avatar billede lp Nybegynder
28. december 2000 - 00:57 #2
nahhh, den holder ikke....de burde komme med når du bruger en like statement.....jeg lurer lidt mere.....
Avatar billede erikjacobsen Ekspert
28. december 2000 - 01:10 #3
Når du siger
$result = mysql_query(\"SELECT * FROM firma WHERE fnavn like \'%$search%\' group by fnavn \");
$row = mysql_fetch_row( $result );
...
while ($row = mysql_fetch_array($result))

smider du den første række væk.
Avatar billede erikjacobsen Ekspert
28. december 2000 - 01:11 #4
Du mener nok:
  $result=mysql_query(...);
  if (mysql_num_rows($result)>0) {
      udskrift...
  } else {
      ingenting...
  }
Avatar billede asse Nybegynder
28. december 2000 - 01:32 #5
->erikjacobsen
Du er dagens mand ;o)
asse
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester