Avatar billede pelann Nybegynder
28. september 2000 - 12:42 Der er 8 kommentarer og
1 løsning

Fejl i søgning (PHP & MySQL)

Hej med jer.

Jeg er i gang med at lave en lille søgeting, men hver gang jeg vil søge på efternavn, så får jeg alt indholdet af min tabel frem. Det er kun når jeg søger på efter navn, er der nogen der kan fortælle hvad jeg har gjort galt. Min kode ser sådan ud:

<html>
<body>

<?php

mysql_connect (\"localhost\", \"brugernavn\", \"password\");
 
mysql_select_db (\"localhost\");

if ($fornavn == \"\")
{$fornavn = \'%\';}

if ($efternavn == \"\")
{$efternavn = \'%\';}

if ($vejnavn == \"\")
{$vejnavn = \'%\';}

if ($vejnummer == \"\")
{$vejnummer = \'%\';}

if ($etage == \"\")
{$etage = \'%\';}

if ($side == \"\")
{$side = \'%\';}

if ($postnummer == \"\")
{$postnummer = \'%\';}

if ($bynavn == \"\")
{$bynavn = \'%\';}

if ($mobilnummer == \"\")
{$mobilnummer = \'%\';}

if ($fastnetnummer == \"\")
{$fastnummer = \'%\';}

if ($email == \"\")
{$email = \'%\';}

$result = mysql_query (\"SELECT * FROM andre
                        WHERE fornavn LIKE \'$fornavn%\'
                        AND efternavn LIKE \'$efternavn%\'
                        AND vejnavn LIKE \'$vejnavn%\'
                        AND vejnummer LIKE \'$vejnummer%\'
                        AND etage LIKE \'$etage%\'
                        AND side LIKE \'$side%\'
                        AND postnummer LIKE \'$postnummer%\'
                        AND bynavn LIKE \'$bynavn%\'
                        AND mobilnummer LIKE \'$mobilnummer%\'
                        AND fastnetnummer LIKE \'$fastnetnummer%\'
                        AND email LIKE \'$email%\'
                      \");

if ($row = mysql_fetch_array($result)) {

do {
  print $row[\"fornavn\"];
  print (\" \");
  print $row[\"efternavn\"];
  print (\"\");
  print $row[\"vejnavn\"];
  print (\" \");
  print $row[\"vejnummer\"];
  print (\" \");
  print $row[\"etage\"];
  print (\" \");
  print $row[\"side\"];
  print (\"<P>\");
  print $row[\"postnummer\"];
  print (\" \");
  print $row[\"bynavn\"];
  print (\" \");
  print $row[\"mobilnummer\"];
  print (\" \");
  print $row[\"fastnetnummer\"];
  print (\" \");
  print $row[\"email\"];
  print (\"<P>\");
} while($row = mysql_fetch_array($result));

} else {print \"Sorry, no records were found!\";}

?>

</body>
</html>

På forhånd tak

Pelann
Avatar billede fmadse1 Nybegynder
28. september 2000 - 12:47 #1
De hedder nok det samme til efternavn høhø
Avatar billede jinxed Nybegynder
28. september 2000 - 12:53 #2
Prøv med det her:

<?php
mysql_connect (\"localhost\", \"brugernavn\", \"password\");
 
mysql_select_db (\"localhost\");

$q=\'SELECT * FROM andre WHERE 1\'

if ($fornavn)
{$q.=\" AND fornavn LIKE \'$fornavn%\'\";}

if ($efternavn)
{$q.=\" AND efternavn LIKE \'$efternavn%\'\";}

if ($vejnavn)
{$q.=\" AND vejnavn LIKE \'$vejnavn%\'\";}

if ($vejnummer)
{$q.=\" AND vejnummer LIKE \'$vejnummer%\'\";}

if ($etage)
{$q.=\" AND etage LIKE \'$etage%\'\";}

if ($side)
{$q.=\" AND side LIKE \'$side%\'\";}

if ($postnummer)
{$q.=\" AND postnummer LIKE \'$postnummer%\'\";}

if ($bynavn)
{$q.=\" AND bynavn LIKE \'$bynavn%\'\";}

if ($mobilnummer)
{$q.=\" AND mobilnummer LIKE \'$mobilnummer%\'\";}

if ($fastnetnummer)
{$q.=\" AND fastnetnummer LIKE \'$fastnetnummer%\'\";}

if ($email)
{$q.=\" AND email LIKE \'$email%\'\";}

$result = mysql_query ($q);

if ($row = mysql_fetch_array($result)) {

do {
  print $row[\"fornavn\"];
  print (\" \");
  print $row[\"efternavn\"];
  print (\"\");
  print $row[\"vejnavn\"];
  print (\" \");
  print $row[\"vejnummer\"];
  print (\" \");
  print $row[\"etage\"];
  print (\" \");
  print $row[\"side\"];
  print (\"<P>\");
  print $row[\"postnummer\"];
  print (\" \");
  print $row[\"bynavn\"];
  print (\" \");
  print $row[\"mobilnummer\"];
  print (\" \");
  print $row[\"fastnetnummer\"];
  print (\" \");
  print $row[\"email\"];
  print (\"<P>\");
} while($row = mysql_fetch_array($result));

} else {print \"Sorry, no records were found!\";}

?>

Jinxed ; )
Avatar billede jinxed Nybegynder
28. september 2000 - 12:54 #3
ups, glemte lige et ; efter linie 6
Avatar billede pelann Nybegynder
28. september 2000 - 13:03 #4
Hej Jinxed

Den kommer med en fejl i linie 8???

Fejlmeddelsen er:

Parse error: parse error in /hotel/WWW/searchform.php on line 8


Pelann
Avatar billede jinxed Nybegynder
28. september 2000 - 13:10 #5
Sæt et ; efter linie 6
Avatar billede pelann Nybegynder
28. september 2000 - 13:15 #6
Hej jinxed, jeg fandt fejlen selv, det var i min htm fil den var gal. Men du får pointene alligevel som tak for hjælpen. Kan du så fortælle mig hvordan man tager backup af en MySQL db på serveren?

pelann
Avatar billede nerdyguy Nybegynder
29. september 2000 - 14:04 #7
Mener du Win98 ?
Du kopiere bare mappen \'data\' og gemmer den til næste gang.. så skulle den være klaret.
Avatar billede jinxed Nybegynder
29. september 2000 - 14:33 #8
og hvis det er på linux/unix tager du bare en kopi af mappen med databasens navn
Avatar billede pelann Nybegynder
30. september 2000 - 12:46 #9
TAk for det.
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