Autor Zpráva
leorond
Profil
Ahoj, potřeboval bych upravit příkaz mysql pro vyhledávání ve více sloupcích

mám toto:
<?php 
$item = $_REQUEST['q']; 

$data = mysql_query("SELECT * FROM Novinky WHERE text  LIKE '%$item%'"); 

while($row = mysql_fetch_array($data)){ 
echo "<table>
        <tr><td><a href='index.php?strana=foto/ukaz&amp;id=".$row["id"]."'>".$row['nadpis']."</a></td><td>".$row['podpis']."</td></tr>
    </table>"; 
} 

?> 

Podmínky dodělám později, děkuji


Jsem to ale ňouma :D zapomněl jsem že mohu použít or :D


Nějaké návrhy na podmínky? Ať to mám ok? :-)


Tak udělal jsem podmínku aby nevypisoval pokud není zadán žádný symbol a pokud se nic nenajde v DB, můj script teď vypadá nějak takto

results.php
<?php 
$item = $_REQUEST['q']; 
if(strlen($item)>0)
    { 
    $data = mysql_query("SELECT * FROM Novinky WHERE text LIKE '%$item%' or podpis LIKE '%$item%' or nadpis LIKE '%$item%'"); 
    if(mysql_num_rows($data)==0) 
        { 
            echo "Nic nebylo nalezeno";
        }
    else
        { 
            while($row = mysql_fetch_array($data))
            { 
            echo "<table>
                    <tr>
                        <td><a href='index.php?strana=foto/ukaz&amp;id=".$row["id"]."'>".$row['nadpis']."</a></td><td>".$row['podpis']."</td>
                    </tr>
                </table>"; 
            }
        } 
    }
else
    {
        echo "Nebyl zadán žádný záznam pro hledání!";
    }
?> 

Nevím zda nepřidat ještě kontrolu pro maximální zadaný text a možná nějaké symboly. Co vy na to?

Třeba někomu pomohu, přidám tedy i formulář

<html>
<form action="index.php?strana=foto/results" method="post">
  <input placeholder="Co hledáte?" type="text" name="q" />
  <input value="Hledej" type="submit" />
</form>
</html>
Fisir
Profil
Reaguji na leoronda:
Když už se to snažíš všemožně vylepšovat, dovolím si podotknout, že mysql_* funkce (neplést s MySQL databázovým serverem) jsou zastaralé a v další verzi PHP (7.0.0) budou odstraněny. Doporučuji přejít buď na rozšíření MySQLi nebo PDO.
leorond
Profil
Ano vím ale i tam dokud nedodělám tento web tak s ním začít nemohu :-) ale jinak samozřejmě už příští projekt pojedu MySQLi ;-)

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: