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

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
jkroc
Nováček
Nováček
Registrován: 20. lis 2009

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

Příspěvek 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.
Naposledy upravil(a) OndraSter dne ned 28. úno 2010, 20:30, celkem upraveno 1 x.
Důvod: kód do code
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

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

Příspěvek 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
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

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

Příspěvek 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 :)
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

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

Příspěvek 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
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
jkroc
Nováček
Nováček
Registrován: 20. lis 2009

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

Příspěvek 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
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

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

Příspěvek 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.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Odpovědět

Zpět na „Programování a web“