Avatar billede proman Nybegynder
20. november 2005 - 15:38 Der er 13 kommentarer og
1 løsning

Søgning i database

Hejsa.. Hvordan laver man sådan at man kan søge i ens mysql database efter bruger, så man kan få vist deres oplysninger som de har indtastet?
Avatar billede jaw Nybegynder
20. november 2005 - 15:39 #1
SELECT * FROM brugertabel WHERE brugernavn LIKE '%".$_POST['soegefeltnavn']."%'

f.eks.
Avatar billede proman Nybegynder
20. november 2005 - 15:41 #2
Jeg er en dumpap til noget php, så jeg søgte et fuld script ;)
Avatar billede jaw Nybegynder
20. november 2005 - 16:00 #3
Ok. 2 filer:

soeg.php:
<form action='soeg_do.php' method='post'>
<input type='text' name='search'>
<input type='submit'>
</form>

soeg_do.php:
<?
// database-connect her
$q = mysql_query("SELECT * FROM brugertabel WHERE brugernavn = '".$_POST['search']) or die(mysql_error());
while($row = mysql_fetch_assoc($q)) {
  echo "Navn: ".$row['brugernavn']."<br />";
  echo "Adresse: ".$row['adresse']."<br />";
}
?>

Lige nu finder den så kun, hvis man staver brugernavnet helt rigtigt. Der ved jeg ikke hvad du havde forestillet dig?
Avatar billede proman Nybegynder
20. november 2005 - 16:06 #4
Det virker ikke? :S
Avatar billede jaw Nybegynder
20. november 2005 - 16:07 #5
Hvordan har du gjort det? Har du tilpasset det til dine felter og tabeller? Hvad virker ikke, fejlkoder?
Avatar billede proman Nybegynder
20. november 2005 - 16:09 #6
<html>
<head>
<head>
</head>
<form action='soeg_do.php' method='post'>
<input type='text' name='search'>
<input type='submit'>
</form>
<body>
</body>
</html>

//soeg.php

<?
include("db.php");
// database-connect her
$q = mysql_query("SELECT * FROM bruger WHERE brugernavn = '".$_POST['search']) or die(mysql_error());
while($row = mysql_fetch_assoc($q)) {
  echo "Navn: ".$row['brugernavn']."<br />";
  echo "Email: ".$row['mail']."<br />";
  echo "Kode: ".$row['password']."<br />";
  echo "HTmønter: ".$row['HTmønter']."<br />";
}
?>

//soeg_do.php
Avatar billede jaw Nybegynder
20. november 2005 - 16:09 #7
Sådan:
$q = mysql_query("SELECT * FROM bruger WHERE brugernavn = '".$_POST['search']."'") or die(mysql_error());
Avatar billede proman Nybegynder
20. november 2005 - 16:10 #8
Skal der ikke være include("db.php"); ?
Avatar billede proman Nybegynder
20. november 2005 - 16:11 #9
For ellers kan den jo ikke connecte databasen :S
Avatar billede jaw Nybegynder
20. november 2005 - 16:12 #10
Jo, det har du jo også :)
Avatar billede proman Nybegynder
20. november 2005 - 16:16 #11
Ja men..
Citat:

Sådan:
$q = mysql_query("SELECT * FROM bruger WHERE brugernavn = '".$_POST['search']."'") or die(mysql_error());

Citat slut

Den står der jo i forvejen :S Skulle det script ikke virke som det er nu?
Avatar billede jaw Nybegynder
20. november 2005 - 16:24 #12
Nej, sådan står det ikke. Jeg har tilføjet ."'"
Avatar billede proman Nybegynder
20. november 2005 - 16:26 #13
Nu virker det :D send lige et svar ;)
Avatar billede jaw Nybegynder
20. november 2005 - 16:34 #14
Svar :)

Hvis det så skal være helt korrekt, så bør du måske gøre:
$q = mysql_query("SELECT * FROM bruger WHERE brugernavn = '".mysql_real_escape_string($_POST['search'])."'") or die(mysql_error());
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