重复查询

时间:2011-10-30 03:01:19

标签: php mysql database server-side

我想通过输入ID的随机数来搜索表,并且为了成功,它必须匹配指定的标记。到目前为止,我有:

$query = "SELECT * FROM web_db WHERE P_Id = " . $random;
$result = mysql_query($query);
if($result) {
while($row = mysql_fetch_array($result)){

    $name = $row[$id];
    echo 'ID:' . $name . '<br>';
    $name = $row[$url];
    echo 'URL: ' . $name . '<br>';
     $name = $row[$tag];
    echo 'Tag:' . $name . '<p>';
}
}

这会显示一个条目,任何标记。在Tag与指定值匹配之前,如何重复它?

2 个答案:

答案 0 :(得分:3)

你没有。 SELECT语句返回符合以下条件的所有内容。因此,如果要查询特定标记条目而忽略P_Id,请执行以下操作:

$query = "SELECT * FROM web_db WHERE tag = '".$tag."' ORDER BY RAND() LIMIT 1";
在这种情况下,

RAND()会随机排序列表,而查询会返回与使用的标记匹配的第一个结果。

$result = mysql_query($query);
if(count($result) > 0) {
  while($row = mysql_fetch_array($result)) {
    echo 'ID:' . $row['id'] . '<br>';
    echo 'URL: ' . $row['url'] . '<br>';
    echo 'Tag:' . $row['tag'] . '<p>';
  }
} else {
  echo 'no entries found';
}

答案 1 :(得分:0)

if("sometag" === $name) break;

退出while循环。退出后,您应该再次检查是否找到了标签