if 语句取决于数组中数据的存在,但是如何在检查时不丢失数组中的第一项?
if statement depends on existence of data in array, but how to not lose first item in array upon checking it?
这让我想起了那个猫是否存在的问题,只有打开盒子它才会存在。但是我跑题了。
我正在检查 mysql 查询的结果,以确定列中是否有数据,如果有,我将在标题下列出数据。检查它的行为似乎是 "using up" 数组中三个结果中的第一个,否则我会想要显示它。这就是我的意思:
在这种情况下,我的查询结果是三个 children 的名字:Billy Timmy 和 Sally。我希望他们的名字出现在标题下,"CHILDREN." 但有时没有 children 所以在这些情况下我不想要标题。
这是一个代码示例,缺少很多其他内容,但我认为这是相关的。
<?php
$query2 = SELECT name AS ChildName
FROM family
WHERE TIMESTAMPDIFF(YEAR, bday, CURDATE()) < 24
AND familyid = ".$_GET['id']."";
$result2 = mysql_query($query2);
<?php $row2 = mysql_fetch_array($result2) ?>
<?php IF(!empty($row2['ChildName'])) { ?>
<strong>CHILDREN</strong>
<?php } ?>
<?php while ($row2 = mysql_fetch_array($result2)) { ?>
<ul> <?php echo '<li> ' . $row2['ChildName'] . '</li>';?> </ul>
<?php } ?>
我在这种情况下的结果是:
CHILDREN
提米
莎莉
但是如果我去掉标题检查,我会在(永久)标题下得到所有三个名字。
我在这里错过了什么?
您可以先使用 mysql_num_rows($result)
方法检查是否返回任何行,然后执行 while 循环获取并显示所有行。现在你没有得到第一行,因为你正在获取它以检查它是否存在。
这让我想起了那个猫是否存在的问题,只有打开盒子它才会存在。但是我跑题了。
我正在检查 mysql 查询的结果,以确定列中是否有数据,如果有,我将在标题下列出数据。检查它的行为似乎是 "using up" 数组中三个结果中的第一个,否则我会想要显示它。这就是我的意思:
在这种情况下,我的查询结果是三个 children 的名字:Billy Timmy 和 Sally。我希望他们的名字出现在标题下,"CHILDREN." 但有时没有 children 所以在这些情况下我不想要标题。
这是一个代码示例,缺少很多其他内容,但我认为这是相关的。
<?php
$query2 = SELECT name AS ChildName
FROM family
WHERE TIMESTAMPDIFF(YEAR, bday, CURDATE()) < 24
AND familyid = ".$_GET['id']."";
$result2 = mysql_query($query2);
<?php $row2 = mysql_fetch_array($result2) ?>
<?php IF(!empty($row2['ChildName'])) { ?>
<strong>CHILDREN</strong>
<?php } ?>
<?php while ($row2 = mysql_fetch_array($result2)) { ?>
<ul> <?php echo '<li> ' . $row2['ChildName'] . '</li>';?> </ul>
<?php } ?>
我在这种情况下的结果是:
CHILDREN
提米
莎莉
但是如果我去掉标题检查,我会在(永久)标题下得到所有三个名字。
我在这里错过了什么?
您可以先使用 mysql_num_rows($result)
方法检查是否返回任何行,然后执行 while 循环获取并显示所有行。现在你没有得到第一行,因为你正在获取它以检查它是否存在。