2016-03-24 12 views
4

私はmysqlデータベースから変数を読み込む方法を自動化しようとしています。 while($row = mysql_fetch_array($result))ループ内に$id=$row['$id']; $ref=$row['$ref']; $name=$row['$name'];などのように定義した膨大な量のフィールドがあります。
これは私のコードで何度も何度も繰り返すので、私はそれらを一度だけ定義しようとしています。リスト関数を動的に生成する方法

これは私がこれまで持っているものです。

$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; 
} 

そして、これが私のクエリです:

$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 />'; 
} 

だから、私の質問は:どのように私は、彼らので、リスト機能の内部VARSを自動化することができます配列$ idsとまったく同じになります(なぜなら、それらは一度だけ書きたいからです)。申し訳ありませんが、私の最初の投稿は...これは意味があるのですか?

答えて

1

PDOで簡単に...機能は必要ありません!

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 />'; 
} 

これはまさに私の質問に対する答えです。
ご両親にご迷惑をおかけして申し訳ありません...

+0

あなた自身の回答を受け入れたものとしてマークして、この質問を閉じることができます – shrmn

関連する問題