Autor Zpráva
Gix
Profil *
Zdravím, pokouším se o napsání jednoduchého scriptu na kontrolu jestli se zaznam v konkrétním poli v db nachází nebo ne, ale pořád né a né přijít na správnou podmínku

            $kontrola_vykresu = MySQL_Fetch_Array(MySQL_Query("SELECT * FROM vykresy WHERE cislo_vykresu = ".$_POST["cislo_vykresu"].""));

            // jestli $kontrola_vykresu["cislo_vykresu"] neco obsahuje nahlasim chybu
            if($kontrola_vykresu["cislo_vykresu"] == ""){
                
                echo "Výkres číslo \" ".$_POST["cislo_vykresu"]." \" se již v databázi nachází!<br> ID:".$kontrola_vykresu["id"]."";
                
                echo "<br>?chyba=duplicitni_vykres&jmeno_duplicitniho_vykresu=".$_POST["cislo_vykresu"]."&";
                exit;
            }else    {
                echo "neexistuje, takze jej vlozim";
                exit;
            }
            

Pořád mi to hlásí, že záznam existuje ať už jo nebo ne..
zkoušel jsem i
if(empty($kontrola_vykresu["cislo_vykresu"])){
nebo
if(isset($kontrola_vykresu["cislo_vykresu"])){

ale stále nic.. kde dělám chybu při ověření? Díky za rady
Alphard
Profil
Stačí zjistit počet řádků, mysql_num_rows() v php nebo nebo count() přímo v mysql. Pokud se vrátí 0, záznam neexistuje, když 1, existuje.

Vaši podmínce moc nerozumím, když se nic nenajde, sloupec neexistuje, když se něco najde, nemůže obsahovat prázdný řetězec.
SIFLER
Profil
Zkuste:
            $kontrola_vykresu = mysql_num_rows(mysql_query("SELECT * FROM vykresy WHERE cislo_vykresu = ".$_POST["cislo_vykresu"].""));
 
            if($kontrola_vykresu == 0){               
                echo 'Výkres prostě není';
            }else{
                echo 'neexistuje, takze jej vlozim';
            }

Hlavně nezapomeňte ošetřit $_POST['cislo_vykresu']..
Gix
Profil *
Díky moc:)

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:

0