2016-03-24 18 views
4

Ich versuche, eine Möglichkeit zum Lesen von Variablen aus einer MySQL-Datenbank zu automatisieren. Ich habe eine riesige Menge von Feldern, die ich wie $id=$row['$id']; $ref=$row['$ref']; $name=$row['$name']; usw. innerhalb einer while($row = mysql_fetch_array($result)) Schleife definieren.
Da dies viele Male durch meinen Code wiederholt wird, versuche ich, sie nur einmal zu definieren.So füllen Sie eine Listenfunktion dynamisch

Dies ist, was ich bisher:

$ids=array('id','ref','name','address'); 

function vars($arr=array(),$ids) { 
    $ext=array(); 
    foreach ($ids as $value) { 
     $$value=$arr[$value]; 
     array_push($ext,$$value); 
    } 
    return $ext; 
} 

Und das ist meine Frage:

$result = mysql_query("SELECT * FROM here"); 
while($row = mysql_fetch_array($result)) { 
    list ($id,$ref,$name,$address) = vars($row,$ids); 
    echo $id.' | '.$ref.' | '.$name.' | '.$address.'<br />'; 
} 

Also, meine Frage ist: Wie kann ich die Vars in der Liste Funktion automatisieren, so dass sie kann genau wie das Array $ IDs sein (weil ich nur einmal schreiben will)? Entschuldigung, mein erster Beitrag hier ... Macht das Sinn oder gehe ich den ganzen Weg falsch?

Antwort

1

Verstanden !!! So einfach mit PDO ... Keine Funktion benötigt!

foreach($db->query("SELECT * FROM here") as $row) { 
    foreach($db->query("DESCRIBE here") as $col) { 
     $$col[0]=$row[$col[0]]; 
    } 
    echo $id.' | '.$ref.' | '.$name.' | '.$address.'<br />'; 
} 

Dies ist genau die Antwort auf meine Frage.
Es tut mir leid, Sie zu stören ...

+0

Sie können Ihre eigene Antwort als akzeptiert markieren, so dass diese Frage geschlossen werden kann – shrmn

Verwandte Themen