Autor Zpráva
danhill
Profil
Ahoj ...
Nějak jsem se zacyklil, prosím, kde mám chybu, že mi to nechodí:

$select = $SQL_QUERRY($con,"SELECT * FROM `final` WHERE `code` LIKE '%".$findNEW."%'  order by `date` ;");
    while ($row=$SQL_FETCH_ASSOC($select)) {
            
        if (isset ($row['code'])){
        
            echo '<td style="min-width:65px">' . $datum .'</td>' ;
            echo '<td title='. $row["country"] .'>' . $row["region"] .'</td>' ;
        }
        
        else {
            echo  '<td>Nenalezeno</td>';
            }    
    
    }

Prostě "nenalezeno" mi to nikdy nenapíše a už nevím co vyzkoušet ...
Díky za pomoc.
mimochodec
Profil
danhill:
Co přesně čekáš od tohoto?

if (isset ($row['code']))
danhill
Profil
No nad tímto kodem je input,kde uživatel zadá co hledá.
A od toho isset čekám, že dotaz do db vrátí vyplněný 'code' ,pokud ho v db najde.
A pokud ho nenajde, tak se napíše Nenalezeno ...
leorond
Profil
Teď jsem nějak nepochopil proč tam je to isset, podle mne by tohle mělo vždy něco najít.


Tedy pokud budeš mít něco v DB


co zkusit nějakou funkci která ověří zda záznam v DB a pokud není tak aby hodil chybu?


Něco jako například ( je to jen starší příklad bez zabezpečení na ověření zda je email již v DB NEPOUŽÍVAT )

function emailvdb ($email)
{
    $vysledek=mysql_query("select * from aktuality where email='".$email."'");
    return (boolean) mysql_num_rows($vysledek);
}  

takto by vypadala podmínka

if(emailvdb($_POST["mail"])) echo "Mail již v DB existuje";



Slouží jen jako příklad jak by se to dalo udělat pro použití je nutné upravit a zabezpečit!
Keeehi
Profil
Jde o to, že podmínka (isset ($row['code']) je vždy pravdivá uvnitř toho while cyklu.
Ty potřebuješ spíš
if(mysqli_num_rows($select) > 0) {
    while ($row ... {
        ...
    }
} else {
    echo "Žádný záznam.";
}

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: