

Co dělám špatně u dotazu do MySQL?
Mám kód
<?php
$hledam = $_POST['hledam'];
echo "Vypisuji vše, kde je hledaný výraz <b>$hledam</b><br><br>";
include "pripojeni.php";
$result = mysql_query("SELECT * FROM tkosp_organizace ORDER BY kraj LIKE '$hledam'");
?>
<?php
while ($zaznam = mysql_fetch_array ($result)):
?>
<table style="background-color: white; width: 100%" border="1" cellspacing="0" cellpadding="5">
<tr>
<td colspan="6" class="nadpis_tab">ID <?php echo $zaznam['id']; ?> | Vloženo <?php echo $zaznam['datum']; ?> | Kraj <?php echo $zaznam['kraj']; ?></td>
...
Ale vypisuje se mi komplet tabulka. Proč se mi nevypíše pouze řádek/řádky s $hledam?
LIKE musi byt po WHERE, az po nich prijde ORDER BY.
WHERE urcuje kde sde ma hledat, a LIKE co se ma hledat, takze to musi byt pohromade.
Furt mám něco blbě, nevypíše se nic
Nebude to náhodou tým, že to čo hľadáš, v tej databáze nie je? Mimochodom, opäť tam máš zraniteľnosť typu SQL injection, čo je v dnešnej dobe veľmi hrubá chyba.
Je to tam. Zkouším hledat jméno jedné paní, která se v tabulce vyskytuje pouze 1x. Ona tam ale je uložená jako Ilona Sailerová, tak zkouším %Sailerová% a nic.
Tohle vyhledávání potom bude v administraci a ta bude na heslo.
A zkousels na to jit od zakladu? Cili za WHERE dat jen jednu polozku (predpokladam ze orgaosoba) a do LIKE nastavit natvrdo 'Ilona Sailerová' misto promenne. Kdyz to prechrousta spravne, tak zmenit 'Ilona Sailerová' na '%Sailerová%' atd... dokud to neprestane fungovat.
Jo, to zkusím. Ale na proměnnou mám echo a vypisuje se, tak prázdná nebude. A ještě to vlaswtně vyzkouším přímo v PHPMyAdminu.
Jinak jsem v SQL uz roky nedelal a nejsem si jist jestli je "WHERE kraj,organizace,orgamesto,orgaosoba" spravny zapis a nemusis kazdy "sloupec" prohledavat zvlast a spojit to pres OR/AND.
Ehm, toto je uplne zle
Ked uz tak
Udělal jsem
Hledá se pouze v názvu organizací, je to jen pro nás, funguje to a je to.