2011-11-14 25 views
0

このクエリは、データベースの2つのフィールドと一致します。 DBから両方の名前を取得するにはどうすればいいですか?複数の結果+配列の表示

 $product_q = mysql_query("SELECT * FROM `templates` WHERE `cat_id` = '$catid'") or die("<br/><br/>".mysql_error()); 
     $product_array = mysql_fetch_array($product_q); 
     $product_name = $product_array['name']; //got the first results 'name' 
     $product_name2 = $product_name[1]; // attempted to get the 2nd 'name'. 

答えて

0

結果をループする必要があります。

while($row = mysql_fetch_array($product_q)) 
{ 
    $product_name = $row['name']; 
    echo $product_name; 
} 
+0

は、私は[1] [0]と$名私は配列変数を取得し、$名を行うことができると思いましたか? – syntheticsaint

+0

しかし、あなたは結果をループして配列を作成することができ、2番目の製品の$ product_array [0] ['name']や$ product_array [1] ['name']のようなデータにアクセスできます。これにより、しばらくの間にforeachループを使用することも可能になります。しかしこれが出発点です。 –

0

あなたがループすることができ、またはこの

$product_q = mysql_query("SELECT * FROM `templates` WHERE `cat_id` = '$catid'") or die("<br/><br/>".mysql_error()); 
    $product_array = mysql_fetch_array($product_q); // First prod 
    $product_name = $product_array['name']; 

    $product_array = mysql_fetch_array($product_q); // Second prod 
    $product_name2 = $product_array['name']; 

を行うループ:そうのように行ごとに

while($r= mysql_fetch_array($product_q)) 
{ 
    $productname= $r['name']; 
} 

あなたの結果であなたは1は、mysql_fetch_arrayを行う必要があります。行が残っていない場合はnullを返します。

あなたは1つのアレイ内のすべての行をしたい場合は、あなただけの理由だけで選択する列に入れていない2つのテーブルの名前を取得したい場合は、この

$products = array(); 
while($r= mysql_fetch_array($product_q)) 
{ 
    $products[] = $r; 
} 

// Echo first product 
echo $products[0]['name']; 

// Echo second product 
echo $products[1]['name']; 

... and so on 
+0

私はあなたの最初の方法が好きです。より多くの名前を付けたいのであれば、単に追加するだけです。 $ product_array = mysql_fetch_array($ product_q); // second prod $ product_name3 = $ product_array ['name']; $ product_array = mysql_fetch_array($ product_q); // second prod $ product_name4 = $ product_array ['name']; など。 – syntheticsaint

+0

私の答えを更新しました。 – Niels

0

を行うことができますか?あなたはそれをあなたがしたい方法で取得することができます

$query = "SELECT table1.name as name1, table2.name as name FROM table1, table2"; 

その方法:

$product_array = mysql_fetch_array($query); 
echo $product_array['name1']; 
echo $product_array['name2']; 
関連する問題