Stránka 1 z 1

PHP vyhledávání v databázi - poradí někdo?

Napsal: ned 28. úno 2010, 17:02
od jkroc
Ahojky,
předem říkám že nejsem žádná extra programátorka, potřebuji udělat práci do školy jedná se o web o hmyzu, pomocí databází. Využívám PSPAD a phpmyadmin a XAMPP. Vše jsem tak nějak někde našla, ale problém nastal když chci na stránku umístit vyhledávač aby při zadání jména hmyzu vytáhl z databáze požadované slovo. Vždy mi vyjede celá tabulka se všemi jmény obsaženými v tabulce. Už jsem prošla všemožná fóra, ale nikde jsem to podobně nenašla zde posílám kod, pokud by někdo dokázal poradit osobně jsem nejvíce času strávila na příkazu, $query = "SELECT * FROM predatori WHERE latinsky_nazev LIKE '%$jmeno%' limit 1"; ale ať to zkouším všelijak bud to nefunguje vůbec a nebo to vždycky najde jen tu tabulku se všemi názvy hmyzu. Mám to vyřešené takto na jedné stránce je toto

Kód: Vybrat vše

<body>
   <body bgcolor = "#689101">
    <body text = "white">
<div align="center">
<div class="search">RYCHLÉ VYHLEDÁVÁNÍ</div>
<div align="justify">
<form method="POST" action="vyhledavani1.php" target="telo">
Zadejte latinský název predátora:
<input type="text" name="jmeno" size="30">
<input type="submit" value="Vyhledat">
<input type="reset" value="Vyčisti">
<input type="hidden" name="find" value="latinsky" checked='checked'>
</p>

</form>
</div>
</body>
A to je odkázáno na další stránku, kde je toto

Kód: Vybrat vše

<?php
if ($_POST['jmeno'] == "")
{
echo "<font color=red>Nezadali jste žádný výraz pro vyhledání.</font>";
return;
}
if ($_POST['find'] == "latinsky")
{

$soubor = "pripojeniphp.php";
    include $soubor;
    mysql_query("SET NAMES cp1250");
   
    $query = "SELECT * FROM predatori WHERE latinsky_nazev LIKE '%$jmeno%' limit 1";
    $result = mysql_query ($query, $link) or die("SQL dotaz nešlo provést");
   
    $num_rows = mysql_num_rows($result);
    if ($num_rows == 0 )
    {
      echo "<font color=red>Vámi hledaný výraz se nenachází v databázi.</font>";
      return;
    }
    while ($row=mysql_fetch_array($result))
       echo "<tr align=center><td><a href=$row[id].php><i>".$row["latinsky_nazev"]."</i></a></td><td><i>".$row["trida"]."</i></td><td><i>".$row["rad"]."</i></td><td><i>".$row["celed"]."</i></td></tr>";
       }
 else
   {
  echo "<font color=red>Nezadali jste žádný výraz pro vyhledání.</font>";
  }
mysql_free_result($result);
mysql_close(); 
?>
Byla bych opravdu vděčná kdyby se někdo našel, kdo by přišel s nějakým nápadem, tento zdroják jsem vzala z podobné práce co jsem našla, ale tam to funguje a mně ne, ještě prosím nepiště mi nějaké složité návody, opravdu tomu příliš nerozumím.
Díky moc za případnou radu.

Re: PHP vyhledávání v databázi - poradí někdo?

Napsal: ned 28. úno 2010, 19:00
od arxeiss
dávej skripty do Code, je to čitelnější.
Teď jsi nejsem jistý, ale myslím že některé prohlížeče neodesílají políčka které jsou hidden takže zkus to políčko nahradit normálně

Kód: Vybrat vše

<div style="display: none;"><input type="radio" name="find" value="latinsky" checked="checked"></div>
Dále HTML nepovoluje apostrofy, tj nemůžeš použí to tvoje ...checked='checked'>
A jěště jedno, ty ten skript vyhledavani1.php používáš i pro jiné vyledávače? Že tam musíš kontrolovat jeslti je zatrhnutý latinsky

Re: PHP vyhledávání v databázi - poradí někdo?

Napsal: ned 28. úno 2010, 20:29
od OndraSter
No spíš než "neodesílají hidden" (což je blbost) neodesílají to, co je po submit buttonu, tzn ten hidden dej PŘED onen submit. Taky jsem to kdysi řešil nějakou dobu dozadu.

Pokud to ani pak nepůjde, hoď mi do SZ celý zdroják (vč dumpu databáze, samozřejmě bez hesla), projdu to.

Jinak kód vložen do code pro přehlednost :)

Re: PHP vyhledávání v databázi - poradí někdo?

Napsal: ned 28. úno 2010, 20:37
od arxeiss
OndraSter píše:"neodesílají hidden" (což je blbost)
Pravda, spletl jsem si to s disabled viz http://www.jakpsatweb.cz/html/formulare.html#input Ale připouštím že je to staré, tj už to může být jinak, ale v případě IE pochybuju

Re: PHP vyhledávání v databázi - poradí někdo?

Napsal: čtv 4. bře 2010, 12:15
od jkroc
Děkuji vám za rady, ale všechno jsem zkusila a nic. Prý je, ale možné že vyhledávání nefunguje teď, ale začně fungovat až to bude uveřejněno na internetu na serveru, tak to příští týden zkusím a uvidím Zatím díky

Re: PHP vyhledávání v databázi - poradí někdo?

Napsal: čtv 4. bře 2010, 20:28
od arxeiss
Tak si zkus dát echo a ten SQL dotaz co ti to vrátilo, ho zkopíruj a dej do PHPMyAdmina a uvidíš jestli tam ti pojede, tak je to divné, ale možná že ti tam vyhodí chybu.