Autor Zpráva
rimidalf
Profil *
Zdravim, chtel bych napsat klikaci nastroj na datawindow, formulare atp v PHP a neumim rozlousknout "jednoduchou" vec. Chtel bych dynamicky generovaný SQL dotaz definovaný a nevím, jak vypotit složitejši where.

Definici si představuji nějak takto (1 a 2 jsou "tabulkové aliasy"):

$sql_querry[table][1]= 'user';

$sql_querry[table][2]= 'log';

$sql_querry[table][2][join]= array("master_table" => 1, "side" => 'left',"key" => '1.id_user = 2.id_user');

$sql_querry[columns][1] = array('user', 'id');

$sql_querry[columns][2] = array('iduser', 'ido');

$sql_querry[where][1][id_user] = array("value" => 1, "compare" => '=',"substring" => '3,4');

Nevim, jak zapsat slozitejsi vnorene where, napr ((aaa AND bbb) or (ccc OR ddd)) , aby to bylo fakt universalni. Diky
Mastodont
Profil
Já to dělám tak, že přidávám jednotlivé podmínky a pak je pomocí str_replace vložím do "lepidla" ...
$var = new WhereBuilder();

$var->AddCondition('id', DAO_EQ ,20); // id = 20, tři parametry
$var->AddCondition('division = 2'); // jeden parametr
$var->glueTogether('($1 OR $2) AND $3');
echo $var->GetWhereString();
rimidalf
Profil *
Jeje, to vypada moc pekne, diky moc
Kcko
Profil
Mastodont

Takhle to vazne pises? Napisu ten dotaz 3x dokola nez bych ho slozil pomoci tyhle "pomocny tridy" ;))
Mastodont
Profil
Kcko
Zatím jsem to nikde nepoužil, tohle bylo jen cvičení.

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