Pogledajte određenu poruku
Staro 22. 07. 2006.   #1
oliver
expert
Expert
 
Avatar oliver
 
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 580
Hvala: 1
0 "Hvala" u 0 poruka
oliver is on a distinguished road
Pošaljite ICQ poruku za oliver Pošaljite poruku preko Skype™ za oliver
Question wtf? next() "brlja"

Pri insertu u tabelu imam gomilu polja, pa umjesto da pisem liniju od "kilometar" - konacno odlucih da odvojim minut-dva i to konacno sredim. Elem, naletih na glup problem, samo jos nisam utvrdio ko je glup: ja ili mi php nesto brlja

Po "vuku", next() ce vratiti false ako vise nema elemenata u nizu.

dakle:
PHP kôd:
function insertRow($table$data) {
    
$dbFieldNames "";
    
$dbFieldValues "";

    foreach (
$data as $field=>$value) {
        
$dbFieldNames .= $field;
        
$dbFieldValues .= "'".$value."'";

        if (
next($data)) {
            
$dbFieldNames .= ",";
            
$dbFieldValues .= ",";
        }
    }

    return 
$this->rawQuery("INSERT INTO $table ($dbFieldNames) VALUES ($dbFieldValues)";) ? true false;

Fora je u tome sto mi u ovom slucaju next() nekoliko puta vrati false iako foreach NIJE stigao do poslednjeg elementa, i onda nemam zarez izmedju polja/vrijednosti (= sql syntax error).

U medjuvremenu sam sredio problem po "seljacki":
PHP kôd:
if (end($data) !== $value) {
    
$dbFieldNames .= ",";
    
$dbFieldValues .= ",";

... i to radi pos'o, ali mi i dalje nije jasno u cemu je problem sa prvim nacinom. next() koristim i pri dump-u baze i "sklapam" query-je za backup fajl, tu sve radi kako treba.

Je l' neko imao slicnu muku, prvenstveno da znam da li ja grijesim ili je nesto drugo u pitanju.
__________________


Poslednja izmena od oliver : 22. 07. 2006. u 15:10.
oliver je offline   Odgovorite uz citat