Autor Zpráva
Kráťa
Profil
Hoj, nemůžu na to přijít, tak jdu na radu, už jsem přečetl snad půl internetu a furt si nějak sedím na vedení.
Mám formulář na jedno slovo

<form method="GET" action="zpracovani.php" >
<p>Zadejte hledaný výraz:
<input type="text" name="slovo" size="20">
<input type="submit" value="Odeslat"></p>
</form>

sobor zpracovani.php obsahuje:
<h1>nalezené výrazy</h1>
<?
$spojeni = mysql_connect("mysql.wz.cz","kochlearni","xdfver" );
mysql_select_db(kochlear, $spojeni);
$vysledek = mysql_query(
"select * from slovnik order by vyraz LIKE '" . $slovo . "'",
$spojeni);


while ($zaznam = mysql_fetch_array($vysledek) ):
echo "<p>";
echo $zaznam["id"];
echo "<br>";
echo "<b>výraz:</b> ";
echo $zaznam["vyraz"];
echo "<br> ";
echo "<b>foneticky:</b> ";
echo $zaznam["foneticky"];
echo "<br>";
echo "<b>význam:</b> ";
echo $zaznam["vyznam"];
echo "<br>";
echo "<b>vložil: </b>";
echo $zaznam["vlozil"];
echo "</p>";
endwhile;
?>

Po dlouhých pokusech mi toto alespoň funguje tak, že se něco děje, jenže mi to vypíše všechny záznamy z tabulky. Já ale chci pouze řádky, které obsahují slovo zadané v tom formuláři.
V tabulce jsou zatím pouze 3 řádky:

Coca Cola;koka kola;Oblíbený nealkoholický nápoj;Kráťa
Game Page;gejm pejč;Televizní magazín o počítačových hrách;Kráťa
Outsider;autsajdr;Většinou se tak označuje ten, s kým se nepočítá;Kráťa

K vidění je to na:
http://www.kochlear.unas.cz/slovnik/search.html
Anonymní
Profil *
Ahoj,

takze pokud ti mohu pomoci, tak ja bych ten SQL dotaz definoval takhle

SELECT * FROM slovnik WHERE vyraz LIKE '" . $slovo . "' ORDER BY vyraz"

coz je spravne, oproti tomu, co tam mas ty. Potom by to snad mohlo fungovat.

tomas
Kráťa
Profil
Ještě to není ono, píše
Parse error: parse error in /3w/unas.cz/k/kochlear/slovnik/zpracovani.php on line 6

Věřím tomu, že jde pouze o nějaké strředníky, čárky, apostrofy...
Oswald
Profil
To vypadá, že proměnná $slovo, ve chvíli kdy se skládá ten SQL dotaz, neobsahuje žádnou hodnotu. Určitě bych k ní přistupoval jako k $_GET['slovo'], ne přímo.

Aha, teď jsem si všiml toho SQL dotazu, mělo by to být spíš takhle:



'SELECT * FROM slovnik WHERE vyraz LIKE %' . $_GET['slovo'] . '% ORDER BY vyraz'
Hugo
Profil
Oswald

Ja si jen dovolime mensi opravu
"SELECT * FROM slovnik WHERE vyraz LIKE '%" . $_GET['slovo'] . "%' ORDER BY vyraz"
Oswald
Profil
Hugo
Jasně, tak je to správně. To by ta moje rada moc platná nebyla, díky.
Kráťa
Profil
Jéééééééééééééé díky 2547x, už to funguje. Můžu jít vylepšovat a formátovat atd.
Ještě by se mi líbila taková malá věc, když totiž někdo zadá do toho formuláře slovo z jiného sloupce tabulky, aby se mu našel i ten řádek, ale to už bude vlastně pouze zdokonalení. Takle už to funguje bezva.
Mám na mysli, když někdo zadá např. slovo kola, aby mu to vypsalo celý ten řádek:
Coca Cola;koka kola;Oblíbený nealkoholický nápoj;Kráťa
Oswald
Profil
Jednoduše přidáš:


... OR dalsi_sloupec LIKE %'" . $_GET['slovo'] . "'% OR jeste_dalsi_sloupce LIKE ...
Hugo
Profil
Oswald

Ja vim, ze uz jsem otravny, ale radsi to opet opravim

OR dalsi_sloupec LIKE '%" . $_GET['slovo'] . "%' OR jeste_dalsi_sloupce LIKE ...
Oswald
Profil
Díky za spolupráci Hugo, já už bych měl jít radši spát :-)
Kráťa
Profil
Kluci jste skvělí, ale mám další problém. Asi třikrát jsem to vyzkoučel a fungovalo to super. Potom jsem to naformátoval a nefungovalo nic. Tak jsem zase udělal to původní a nefunguje to stejně. Když se dá odeslat, tak stránka problikne a je tam ta původní s formulářem, pouze v adresním řádku prohlížeče přibude ?slovo=cola.
Nemůže to být nějakým omezením tří dotazů za hodinu na Webuzdarma či co? I když fórum mi tam jede dobře... Já za ty dva dny už vidím jen samé středníky, uvozovky, závorky...
Hugo
Profil
Kráťa

No, omezenim ze strany WZ to asi nebude, protoze tam mas 3000 pripojeni a 6000 dotazu za hodinu. Spis tam mas nekde chybu.
Kráťa
Profil
Jo dík, gailoval to smazaný > při formátování a po opravě mi to nezobrazoval proxy. K vidění to je na
http://www.kochlear.unas.cz/slovnik/search.html
Uf jdu na jedno :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.