2011-11-23 10 views
0

私はウェブサイトで作業していますが、データベースの一部のデータにforeachループを使用するたびに奇妙な表示を続けます。 私はこの取得:このデータベースでForeach()からの珍しい出力

$res = mysql_query("SELECT * FROM `fcat`"); 
    $resa = mysql_fetch_array($res); 
    if(!empty($resa)){ 
     foreach($resa as $j){ 
      echo $j['title']."<br />"; 
      echo "Posted By: ".$j['poster']."<br />"; 
      echo $j['info']; 
     } 
    }else{ 
     echo "Nothing."; 
    } 

id is an int(11)= 2 
title is a varchar(65)= Hi 
info is a text= Test 
creator is a text= Admin 

おかげで、私はこのループを使用する場合

2 
Posted By: 2 
22 
Posted By: 2 
2H 
Posted By: H 
HH 
Posted By: H 
HT 
Posted By: T 
TT 
Posted By: T 
TA 
Posted By: A 
AA 
Posted By: A 
A 

を!

+0

その表示についての奇妙何?あなたがレコード間で改行を出力しないので、前のものの情報のすぐ隣に出力されているタイトルが表示されます。 – liquorvicar

+0

期待される出力は何ですか? –

答えて

1

私は、これはあなたを助けるかもしれないと思う:

$res = mysql_query("SELECT * FROM `fcat`"); 
if(mysql_num_rows($res)>0){ 
    while($j = mysql_fetch_array($res)){ 
     echo $j['title']."<br />"; 
     echo "Posted By: ".$j['poster']."<br />"; 
     echo $j['info']; 
    } 
}else{ 
    echo "Nothing."; 
} 
0

は、そう数値と関連付けるキー

アレイは、mysql_fetch_array(リソース$結果[、INT $のresult_type = MYSQL_BOTH])

両方に配列を返す

mysql_fetch_array($res, MYSQL_ASSOC); 
に変更は、mysql_fetch_array
0

試用:

$res = mysql_query("SELECT * FROM `fcat`"); 
    while($j = mysql_fetch_array($res)){ 
     echo $j['title']."<br />"; 
     echo "Posted By: ".$j['poster']."<br />"; 
     echo $j['info']; 
    }