Autor Zpráva
gerix
Profil
Zdravím,

v databázi mám asi 1500 záznamů a chtěl bych zjistit jestli mám u každého záznamu vyplněnou položku "cena". Zkusil jsem tedy napsat script na zjistění.

<?php

$pocitadlo = 0;

$spojeni=mysql_connect($MySQL_server,$MySQL_user,$MySQL_user_password);
$spojenidb=mysql_select_db($MySQL_db);

                $dotaz="SELECT * FROM ps_product WHERE cena";
                $vysledek = MySQL_Query($dotaz); 
                        while ($zaznam = MySQL_Fetch_Array($vysledek)){

                                $cena = $zaznam["cena"];

                                If(empty($cena)){ $pocitadlo++; }

                        }
                        
echo $pocitadlo;                
                        
?>

Bohužel mi to napíše "0" . V případě že chci zjistit kolik položek je vyplněných změním tento řádek If(empty($cena)){ $pocitadlo++; } na If(!empty($cena)){ $pocitadlo++; } tak mi to vypíše.

Mě ale zajímá kolik jich vyplněných není. Jakým způsobem to můžu zjistit? Díky za rady
Taps
Profil
gerix:
<?
 $dotaz="SELECT count(*) as pocet FROM ps_product WHERE cena IS NULL";
                $vysledek = MySQL_Query($dotaz); 
                    $zaznam = MySQL_Fetch_Array($vysledek) or die (mysql_error());
                                 echo $zaznam["pocet"];

    ?>
Edit: prosím o přesun do tématu mysql
gerix
Profil
Omlouvám se za špatnou kategorii.

Díky za odpověď bohužel mi to ale stále píše 0 přitom mám vyplněných položek tak polovinu
Someone
Profil
Je opravdu null? není to jen prázdné nenulové pole? Nejsem si jistý jestli je to totéž, co toto: $dotaz="SELECT count(*) as pocet FROM ps_product WHERE cena=''";
gerix
Profil
Je to prázdné pole. Není v něm vyplněno nic. Druhá varianta funguje:) 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: