この問題を解決できないのは、php のいくつかの側面に関する知識が不足しているためだと確信していますが、1 か月間解決しようとしても運がありません。これは問題の単純化されたバージョンです。
私のデータベースには、メンバー テーブル、子供テーブル (各メンバーの子供)、およびフレンド リクエスト テーブル (これには、子供が互いに送信するフレンド リクエストが含まれます) があります。
私がやろうとしているのは、次のwhileループを使用して特定の親の子を表示することです....
$query = "SELECT * From children " . <br>
"WHERE parent_member_id = $member_id"; <br>
$result = mysql_query($query) <br>
or die(mysql_error());<br>
$num_children = mysql_num_rows($result);<br>
echo $num_children;<br>
while($row = mysql_fetch_array($result)){<br>
$first_name = $row['first_name'];<br>
$child_id = $row['child_id'];<br>
<div>echo $first_name<br>
}
このwhileループは完全に機能し、次のように表示されます...
1) ケネス
2) ラリー
私がやろうとしているのは、各子供が自分の名前の横に持っている友達リクエストの数も表示することです...このように
ケネス (2)
ラリー (5)
これを行うために、元の while ループに次の変更を試みました...
$query = "SELECT * From children " .<br>
"WHERE parent_member_id = $member_id";<br>
$result = mysql_query($query) <br>
or die(mysql_error());<br>
$num_movies = mysql_num_rows($result);<br>
echo $num_movies;<br>
while($row = mysql_fetch_array($result)){<br>
$first_name = $row['first_name'];<br>
$child_id = $row['child_id'];<br>
echo $first_name; include('counting_friend_requests.php') ;
}
このバージョンでは、含まれているスクリプトは次のようになります...
$query = "SELECT <br>children.age,children.child_id,children.functioning_level,children.gender,children.parent_member_id,children.photo, children.first_name,friend_requests.request_id " .
"FROM children, friend_requests " .
"WHERE children.child_id = friend_requests.friend_two " .
"AND friend_requests.friend_one = $child_id"; <br>
$result = mysql_query($query)<br>
or die(mysql_error());<br>
$count = mysql_num_rows($result);<br>
if ($count==0)<br>
{<br>
$color = "";<br>
}<br>
else<br>
{<br>
$color = "red";<br>
}<br>
echo span style='color:$color' ;<br>
echo $count;<br>
echo /span;<br>
再びこのwhileループが機能し始めますが、含まれているファイルにより、最初のレコードが返された後にループが停止し、次の出力が生成されます...
ケネス (2)
私の質問は、while ループを中断せずに目的の結果を表示する方法はありますか? 誰かが私を正しい方向に向けることさえできれば幸いです!!