如何制作循环

时间:2012-02-07 15:28:11

标签: php

这将有助于我理解循环如何工作

假设我有数据库表my_table (id,words),这里是数据库

的示例
INSERT INTO `my_table` VALUES (1,'hello manal');
INSERT INTO `my_table` VALUES (2,'nice manal');
INSERT INTO `my_table` VALUES (3,'pretty manal');

现在想象出100,000个条目(巨大的)并且我想将单词manal重复为jack并给我结果每一行逐一改变

我会用

$conn = mysql_connect('localhost','USER','PASS') or die(mysql_error());
mysql_select_db('my_table',$conn);

$sql = "SELECT * from my_table";
$result = mysql_query($sql,$conn);

while ($row = mysql_fetch_array($result)){

$old = $row['words'];
$id = $row['id'];

$new="jack";
$new = str_replace("manal", "$new", $old);
echo $new;

}

循环 通过该代码,它将同时工作,这是我的托管服务器不可能应用所有所以我想让它作为循环!我的意思是它将更改第一个数据库行然后给我结果echo $new;然后更改第二个数据库行然后给出结果echo $new;,依此类推,直到最后一行没有停止。

所以我的重要部分是逐一获得结果〜谢谢

2 个答案:

答案 0 :(得分:2)

问题是你的输出被缓冲了,这就是为什么你同时看到所有结果(在脚本执行结束时)。

您可以在ob_flush(); flush();之前的循环中添加echo $new;,看看是否有帮助。无论如何,上面的例子将很快执行,因此它不会很容易阅读!

答案 1 :(得分:1)

您最好在数据库中替换它,然后将其打印出来。

$sql = "UPDATE my_table SET words = REPLACE(words, 'manal', 'jack')";