PHP sütun adları adını değişkenlere MySQL hücre değerlerini koymak nasıl

5 Cevap php

Bu kod MySQL hücre değerlerini seçer ve el PHP değişkenleri ekler:

$sql = "SELECT * FROM table LIMIT 0,1";
$result = mysql_query($sql);
while($rows = mysql_fetch_array($result)) {
    $col1 = $rows['col1'];
    $col2 = $rows['col2'];
    $col3 = $rows['col3'];
    .....
}

Bu tabii ki çok sayıda ve büyük tablolar için yönetilemez.

Otomatik olarak el ile tüm tablolarda tüm sütun adları girmeden değişken isimlerini ve değerlerini oluşturmak için daha iyi bir yolu nedir?

5 Cevap

Bu sizin için ne arıyorsanız olduğunu düşünüyorum

$sql = "SELECT * FROM table LIMIT 0,1";
$result = mysql_query($sql);
while ($rows = mysql_fetch_array($result, MYSQL_ASSOC)) {
    foreach ($rows as $key => $value) {
    	$$key = $value;
    }
}

Sen extract() Bunun için kullanabilirsiniz. Ama dizideki değerleri devam ederdim.

..SELECT x,y,z FROM ..
while( false!==($rows=mysql_fetch_array($result, MYSQL_ASSOC)) ) {
    extract($rows);
    echo $x;
    ...
}

Birleştirici diziler sahip daha uygun olmaz mıydı? Tarif artı onları herhangi bir işlev veya görünüm veya her neyse bunlardan birden fazla geçmek gerekirse çok daha iyi bir ünitede birlikte sahip parası gibi kendi sütun adı ile değişkenleri arayabilirsiniz yolu.

bu yüzden mysql_fetch_assoc kullanmak istiyorsunuz ve bu kadar.

Ben her satır için bir değişkene sahip önermiyoruz, daha sonra yazma HTML kolaylaştırmak için aynı yapmak için kullanılan:

echo "<tr><td>$name</td><td>$count</td></tr>";

Yerine:

echo "<tr><td>{$row['name']}</td><td>{$row['count']}</td></tr>";

Ben kullanarak yapmak daha iyi ve okunabilir bir şekilde buluncaya kadar mysql_fetch_object

while ($row = mysql_fetch_object($result)) {
  :
  echo "<tr><td>{$row->name}</td><td>{$row->count}</td></tr>";
  :
}

Use variable variables: Code example:

$a = 'col1';
$$a = 'somevalue';
echo $col1;

çıkış 'somevalue' olacak.

http://www.php.net/manual/en/language.variables.variable.php