0

2 つwhileのループがあり、一方が他方の内側にあります。

そう

while ($info5 = mysql_fetch_array($result5))
{

 print "</td>";

次に、このSQLクエリがあります

 include('database.inc');

$sql6 = "SELECT count(checkins.placeID) as methoda FROM checkins, places, activities WHERE activities.actID=places.placeActivity AND checkins.placeID = places.placeID and checkins.cityID = ".$city." group by checkins.placeID order by checkins.placeID, activityName";

$result6=mysql_query($sql6);
$count=mysql_num_rows($result6);

while($row = mysql_fetch_array($result6))
    {
     echo $row["methoda"];
 }
      print "</td></tr></table>" ;

        }?>

問題は、たとえば次のように、1 つのテーブルを受け取ることです。

Place1 -> 321

Place2 -> 321

Place3 -> 321

順番は正しいのですが、配列で受け取ります!正しいのは

Place1 -> 3

Place2 -> 2

Place3 -> 1

配列を分割する方法がわからない$row、またはそれが転置の問題なのか、count コマンドがスタックされているのかなど、よくわかりません。私を助けてください。

4

1 に答える 1

0

コードは次のようになります。

include('database.inc');

echo "<table>";

//first query....

while ($info5 = mysql_fetch_array($result5))
{

    $sql6 = "SELECT count(checkins.placeID) as methoda FROM checkins, places, activities WHERE activities.actID=places.placeActivity AND checkins.placeID = places.placeID and checkins.cityID = ".$city." group by checkins.placeID order by checkins.placeID, activityName";

    $result6=mysql_query($sql6);
    $count=mysql_num_rows($result6);

    echo "<tr>";
    while($row = mysql_fetch_array($result6))
    {
       echo "<td>".$row["methoda"]."</td>";
    }
    print "</tr>" ;

}?></table>

必要に応じて編集します。tdtrおよびtableタグの配置に注意してください

于 2012-08-08T17:43:06.810 に答える