晚上,
我有一段代码:
for ($i=0; $i < $c; $i++){
$result = mysql_query("SELECT ad_id,title FROM `ads` WHERE `ad_id`='".$new[$i]."' LIMIT 10");
if(mysql_num_rows($result) > 0){
while($row = mysql_fetch_array($result)){
if(($c > 3) && ($i < 2)){
echo '
<div class="pins best">
<div class="holder">
'.$row['title'].'
</div>
</div>';
} else {
echo '
<div class="pins">
<div class="holder">
'.$row['title'].'
</div>
</div>';
}
}
} else {
echo "No results";
}
}
现在我正在做的是检查我id
数组中$new
id
与db
中db
对应的if
。{/ p>
如果没有匹配else
条记录的结果,我无法完成的是向用户输出一些消息。我尝试在db
语句for
语句之后撰写,但它不起作用,因为此{{1}}选项位于{{1}}循环中。
有什么建议吗?
编辑:我在我的代码中添加了else语句,因为每个人都在暗示我已经尝试过的内容,以及问题出在哪里。
答案 0 :(得分:0)
你试过吗
if(mysql_num_rows($result) > 0){
...
}
else {
//message here
}
答案 1 :(得分:0)
你的代码是99%:
for ($i=0; $i < $c; $i++) {
$result = mysql_query("SELECT ad_id,title FROM `ads` WHERE `ad_id`='".$new[$i]."' LIMIT 10");
if(mysql_num_rows($result) > 0){
while($row = mysql_fetch_array($result)){
if(($c > 3) && ($i < 2)){
echo '
<div class="pins best">
<div class="holder">
'.$row['title'].'
</div>
</div>
';
} else {
echo '
<div class="pins">
<div class="holder">
'.$row['title'].'
</div>
</div>
';
}
}
}
else
{
echo 'No results found';
}
}
while循环永远不会被执行。
答案 2 :(得分:0)
您可以收集数组$failedId
中失败的数据,之后您可以对该集合执行某些操作并迭代$new
数组以生成反馈。
$failedId = array();
for ($i=0; $i < $c; $i++){
$result = mysql_query("SELECT ad_id,title FROM `ads` WHERE `ad_id`='".$new[$i]."' LIMIT 10");
if(mysql_num_rows($result) > 0){
while($row = mysql_fetch_array($result)){
if(($c > 3) && ($i < 2)){
echo '
<div class="pins best">
<div class="holder">
'.$row['title'].'
</div>
</div>';
} else {
echo '
<div class="pins">
<div class="holder">
'.$row['title'].'
</div>
</div>';
}
}
} else {
$failedId[] = $i;
}
}
答案 3 :(得分:0)
我自己整理好了。如果有人感兴趣,在我创建一个与数据库中的搜索词匹配的id的数组后,我只检查数组或结果是否为空(这意味着没有找到匹配项),然后打印出该消息,这检查在上面给出的代码之前完成。 感谢那些花时间帮助我的人。