Zřetězování podmínek pro výběr z databáze

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
McKinley
Člen | 4
+
0
-

Ahoj, nevím jak téma správně popsat.
Nette mám Nette Framework 2.0.3 pro PHP 5.3 nebo 5.4.
tady mam kód, načtu obsah xml a ten prohledávám. Když chci zapsat do db neni problem, ale jakmile chci mrknout jestli tam uz zaznam neni tak to udělá jen poprvé. Potom se začnou zřetězovat podmínky pro výběr z databáze.

$xml = simplexml_load_file('port.xml');
foreach ($xml->regularOrder as $v)
{
foreach ($v->data->portingNumber as $vv)
{
$number = $vv->dn;
settype($number, "integer");
$opid = $vv->nrhOID;
settype($opid, "integer");

if ($this->pompdb->where('number',$number)->count("*")===0){

$this->pompdb->insert(array(
        'number' => $number,
	'opid' => $opid,
        ));

$this->flashMessage('Vloženo do databáze', 'success');
else{

$this->pompdb->update(array(
       	'opid' => $opid,
        ));


$this->flashMessage('Záznam existuje','error');
}
}
}

Prostě k prvnimu where se při druhym pruchodu přidá další where(místo aby ho nahradil) a tak dál.
Zkoušel jsem i to z předchozího tématu, ale nic.

rixi
Člen | 109
+
0
-

Pred cyklom inicializuj selection $this->pompdb do novej premennej (respektive clone), takto si len nabalujes podmienku WHERE jednu za druhou a nebude to spravne fungovat.

Editoval rixi (2. 5. 2012 15:40)

McKinley
Člen | 4
+
0
-

Díky, funguje jak má. :-)