我确信我无法解决这个问题是由于缺乏对 php 某些方面的了解,但我已经尝试解决它一个月了,但没有运气。这是问题的简化版本。
在我的数据库中,我有一个 members 表、一个 childrens 表(每个成员的孩子)和一个朋友请求表(其中包含孩子们发送给彼此的朋友请求)。
我正在尝试做的是使用以下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 循环的情况下显示我想要的结果?如果有人能指出我正确的方向,我将不胜感激!