tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

SELECT s podmínkou AND začátečnický problém

před 10 lety

mardon
Člen | 59

Ahoj,

s dibi teprve začínám a narazila jsem na problém kdy potřebuji vytvořit SELECT s podmínkou AND a nevím si stím rady

<?php
public function expire_cert ($od,$do)
    {
        $where = array();
        $where[] = array('do > %d', '$od');
        $where[] = array('do < %d', '$do');
        $result = dibi::query("SELECT * FROM certifikat WHERE %and", $where);
        return $result;
    }

$cert = new certificat;
$od = date("Y-m-d H:i:s");
$do = date("Y-m-d H:i:s",strtotime("+4 week"));
$exp_cert = $cert->expire_cert($od,$do);
foreach ($exp_cert as $n => $row) {
    print_r($row);
}
?>

výsledek ale nedostanu

Tak už mi to funguje, nevím asi skvrny na slunci

Editoval mardon (18. 4. 2009 10:35)

před 10 lety

David Grudl
Nette Core | 6806

Asi by to mělo být takto

<?php
public function expire_cert ($od,$do)
    {
        $where = array();
        $where[] = array('do > %d', $od); // bez uvozovek
        $where[] = array('do < %d', $do);
        $result = dibi::query("SELECT * FROM certifikat WHERE %and", $where);
        return $result;
    }

$cert = new certificat;
$od = time(); // date není nutné volat, ačkoliv je to možné
$do = strtotime("+4 week");
$exp_cert = $cert->expire_cert($od,$do);
foreach ($exp_cert as $n => $row) {
    print_r($row);
}
?>