Avatar billede katja_kh Nybegynder
06. juni 2007 - 08:58 Der er 10 kommentarer og
1 løsning

søgefunktion i mysql database

Jeg skal lave en søgefunktion på en hjemmeside, som henter data fra en database. Jeg har skrevet følgende kode:

<html>
<body>
<?
$db= mysql_connect("localhost", "root", "");
mysql_select_db("elever", $db);

if(isset($submit))
{
$result= mysql_query("elever", $db);
("SELECT * FROM elevliste WHERE fornavn LIKE '%$fornavn%' OR efternavn LIKE '%$efternavn%'");
while ($row = mysql_fetch_array($result))
{
echo "<tr><td valign= \"top\">";
echo $data ["fornavn"];
echo "<br>";
echo $data ["efternavn"];
echo "<br>";
}
}
?>
<span class = "style2"><strong> Find en elev</strong></span>:<br>

<form method="post" action="<? echo $PHP_SELF; ?>">
<input type="hidden" name="skriv" value="1">

<table width= "200" border="0">
<tr>
<th scope= "col"><strong>Fornavn:</strong></th>
<th scope= "col"> <input type="input" name="fornavn2" value=""></th>
</tr>
<tr>
<td> <strong>Efternavn</strong>:</td>
<td> <input type="input" name="efternavn2" value=""></td>
</tr>
</table>
<p><p>
<input type="submit" name="submit2" value="Søg">
<p>
</form>

Søgeboksene plus søgeknappen kommer frem, men når man intaster et navn i boksen returnerer den bare 00 på min hjemmeside. Hvad kan der mon være galt.?
Avatar billede dkfire Nybegynder
06. juni 2007 - 10:15 #1
Tror egentlig at spørgsmålet hører mere under PHP, men pyt.
Din fejl ligger her:
$result= mysql_query("elever", $db);
("SELECT * FROM elevliste WHERE fornavn LIKE '%$fornavn%' OR efternavn LIKE '%$efternavn%'");

Det skal rettes til:
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$result= mysql_query("SELECT * FROM elevliste WHERE fornavn LIKE '%$fornavn%' OR efternavn LIKE '%$efternavn%'") or die(mysql_error());
Avatar billede katja_kh Nybegynder
06. juni 2007 - 11:02 #2
hmm.. den returnerer stadig kun 00 selvom jeg har rettet det..
Avatar billede dkfire Nybegynder
06. juni 2007 - 11:12 #3
Hvordan ser din kode ud nu ??
Avatar billede katja_kh Nybegynder
06. juni 2007 - 11:18 #4
$db= mysql_connect("localhost", "root", "");
mysql_select_db("elever", $db);

if(isset($submit))
{
//$result= mysql_query("elever", $db);
//("SELECT FROM elevliste WHERE fornavn LIKE '%$fornavn%' OR efternavn LIKE '%$efternavn%'");
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$result= mysql_query("SELECT * FROM elevliste WHERE fornavn LIKE '%$fornavn%' OR efternavn LIKE '%$efternavn%'") or die(mysql_error());
while ($data = mysql_fetch_array($result))
{
echo "<tr><td valign= \"top\">";
echo $data ["fornavn"];
echo "<br>";
echo $data ["efternavn"];
echo "<br>";
}
}
?>
<span class = "style2"><strong> Find en elev</strong></span>:<br>

<form method="post" action="<? echo $PHP_SELF; ?>">
<input type="hidden" name="skriv" value="1">

<table width= "200" border="0">
<tr>
<th scope= "col"><strong>Fornavn:</strong></th>
<th scope= "col"> <input type="input" name="fornavn2" value=""></th>
</tr>
<tr>
<td> <strong>Efternavn</strong>:</td>
<td> <input type="input" name="efternavn2" value=""></td>
</tr>
</table>
<p><p>
<input type="submit" name="submit2" value="Søg">
<p>
</form>

</center>
</body>
</html>
Avatar billede dkfire Nybegynder
06. juni 2007 - 11:43 #5
Hvor står de der 00 henne ???
Avatar billede katja_kh Nybegynder
06. juni 2007 - 11:45 #6
den viser indholdet af min database, de 00 kommer frem oppe over navnene...
Avatar billede dkfire Nybegynder
06. juni 2007 - 11:46 #7
Arhhh så lige en fejl, prøv:
<?php
$db= mysql_connect("localhost", "root", "");
mysql_select_db("elever", $db);

if( isset($_POST['submit2']) )
{
$fornavn = $_POST['fornavn2'];
$efternavn = $_POST['efternavn2'];
$result= mysql_query("SELECT * FROM elevliste WHERE fornavn LIKE '%$fornavn%' OR efternavn LIKE '%$efternavn%'") or die(mysql_error());
while ($data = mysql_fetch_array($result))
{
echo "<tr><td valign= \"top\">";
echo $data ["fornavn"];
echo "<br>";
echo $data ["efternavn"];
echo "<br>";
}
}
?>
<span class = "style2"><strong> Find en elev</strong></span>:<br>

<form method="post" action="<? echo $PHP_SELF; ?>">
<input type="hidden" name="skriv" value="1">

<table width= "200" border="0">
<tr>
<th scope= "col"><strong>Fornavn:</strong></th>
<th scope= "col"> <input type="input" name="fornavn2"></th>
</tr>
<tr>
<td> <strong>Efternavn</strong>:</td>
<td> <input type="input" name="efternavn2"></td>
</tr>
</table>
<p><p>
<input type="submit" name="submit2" value="Søg">
<p>
</form>

</center>
</body>
</html>
Avatar billede katja_kh Nybegynder
06. juni 2007 - 11:47 #8
når jeg så går ind i min database så står der 0 ved postnummer og 0 ved telefonnummer. og fornavn, efternavn, adresse, by er blanke. den opretter simpelthen en ny "person" i databasen hver gang jeg trykker søg.
Avatar billede dkfire Nybegynder
06. juni 2007 - 11:49 #9
Nej det gør den nu ikke, med mindre du kalder andet kode end det du har vist mig.
Avatar billede katja_kh Nybegynder
06. juni 2007 - 11:50 #10
hmm det virker stadig ikke. Jeg skal aflevere opgaven nu her kl 12 så må hellere få det gjort... Du skal alligevel have tak for din hjælp.. Jeg er ny her inde så hvordan giver jeg dig point??
Avatar billede dkfire Nybegynder
06. juni 2007 - 11:53 #11
Ved jeg at jeg svare og du acceptere
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
Computerworld tilbyder specialiserede kurser i database-management

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