Autor Zpráva
Joukerka
Profil
Zdravím, potřebuju poradit:

na jedné stránce mám formulář pro filtraci:
<form action="vyber.php" method="GET">
<select name="jmeno">
<option value="h1">karel</option>
<option value="h2">david</option>
</select>
<br>
<select name="prijmeni">
<option value="h11">polak</option>
<option value="h22">novak</option>
</select>
<br>
<input type="submit" name="filtrovat" value="Filtr">
</form>

dále mám uložený soubor :
<
<?php 

require("prihlas.php");
    
    $pripoj=MySQL_Connect($SQL_Server, $SQL_Uzivatel, $SQL_Heslo) or Die(MySQL_Error());
    MySQL_Select_Db($Databaze) or Die(MySQL_Error());
    

if(IsSet($_GET["filtrovat"]))
{
$dotaz="select * from test2 where $jmeno='$_GET[jmeno]' and $prijmeni='$_GET[prijmeni]'";
}
$vysledek = MySQL_Query($dotaz); // provedení sql dotazu 


while ($zaznam = MySQL_Fetch_Array($vysledek)){ 
$id=$zaznam["id"];
$jmeno=$zaznam["jmeno"];
$datum=$zaznam["datum"];
$prijmeni=$zaznam["prijmeni"];

print "<tr><td>$id</td> <td>$jmeno</td> <td>$prijmeni </td><td>$datum </td></tr> <br>";


}
MySQL_Close($pripoj); 


?


nevím kde je chyba ... pokud si nechám vypsat celou tabulku tak mi to funguje, s tou filtrací mi to ale nejede. Díky za pomoc
juriad
Profil
Přidej si za 11. řádek:
echo $dotaz;
a pochopíš, že to asi není dotaz, který chceš.


Je tam hromada chyb:
1) Sloupec se jmenuje v databázi jmeno a prijmeni. Tedy:
$dotaz="select * from test2 where jmeno='$_GET[jmeno]' and prijmeni='$_GET[prijmeni]'";
2) Neošetřuješ vstupy, co když se někdo bude jmenovat K'Temok. (Reálné Klingonské jméno).
$dotaz="select * from test2 where jmeno='" . mysql_real_escape_string($_GET['jmeno']) . "' and prijmeni='" . mysql_real_escape_string($_GET['prijmeni']) . "'";
3) Pochybuji, že se někdo jmenuje h1 h11. Musíš změnit v selectu value na jméno a příjmení, které existuje v databázi.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: