2011-07-30 4 views
0

私は私のPHPファイル"SELECT * FROM" mysql_fetch_arrayクエリからデータにアクセスするには?

$atr_info = "SELECT * from attributes"; 
$atr_info2 = mysql_query($atr_info) or die ("Couldn't get attributes"); 
$atr = mysql_fetch_array($atr_info2)or die ("Couldn't make array"); 

die ($atr['attribute'][n]); 

でこれを持っている属性テーブルは、3つの列があります:ID、属性、ツールチップ
をと行の多くを持っています。私は列の属性の行 "n"の値を返すことができるようにしたいが、それは動作しませんそれは、列の最初の行を返し、そのフィールドのN番目の文字を表示する、どうすればそれを動作させることができますか?

+1

mysql_fetch_array()は、結果セットから一度に1行を返します。複数の行を読み込むために、mysql_fetch_array()はループで実行されます。あなたの例では、mysql_fetch_array()を1回だけ実行しているので、常にカラムの最初の行が返されます。下記の回答の例を試してください。 – Abhay

+0

説明のための偉大なおかしな私はどこでイブが間違っているのか理解しています:D – Thaiscorpion

答えて

1
$i = 1; 
$rows = array(); 
$atr_info2 = mysql_query("SELECT * from attributes") or die ("Couldn't get attributes"); 
while($row = mysql_fetch_array($atr_info2)) { 
    $rows[$i] = $row; 
    $i++; 
} 

今、あなたキャンアクセスそのような行45内の属性列:

echo $rows[45]['attribute']; 
+0

完璧に働く素敵な感謝 – Thaiscorpion

1

何がこの

$atr_info = 'SELECT * from attributes LIMIT $n, 1' 
$atr_info2 = mysql_query($atr_info) or die ("Couldn't get attributes"); 

、その後

if($row = mysql_fetch_array($atr_info2) or die ("Couldn't make array")) 
{ 
    echo $row['tooltip']; 
} 
のようなクエリを書き換えた場合
関連する問題