通过功能循环直到满足条件

时间:2013-04-28 15:24:06

标签: php mysql loops while-loop

我正在尝试构建一个php函数来检查数据库中是否存在某个url:

 $sql = "SELECT * FROM taskProposals WHERE url='$string'";
    $query = mysql_query($sql);
    $quantity = 0;
    while ($row = mysql_fetch_assoc($query)) { 
        $quantity++; 
    }
    if ($quantity>0) {
        $string = $string.$quantity;
    }

    return $string;

我构造此代码的方式的问题在于它只会在第一次找到相同的$ string时才能工作。一旦我通过添加$quantity来更改网址,我需要再次检查以确保新网址不存在。基本上,我需要遍历此检查功能,直到我有一个完全独特的URL。经过大量的反复试验,我无法弄清楚如何设置它。

1 个答案:

答案 0 :(得分:2)

非常低效。你开车到商店,购买特定类型的所有物品,装入你的车,开车回家,计算你买了多少,然后把它们扔掉。为什么不更像:

$sql = "SELECT count(*) AS cnt FROM taskProposals WHERE url='$string';"
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$quantity = $row['cnt'];

不要强迫数据库获取您只是忽略的数据。