PHP-在循环中多次使用mysql_fetch_assoc()。
我正在为新添加的评论开发一个非常简单的电子邮件通知系统。它的工作原理如下:PHP-在循环中多次使用mysql_fetch_assoc()。,php,Php,我正在为新添加的评论开发一个非常简单的电子邮件通知系统。它的工作原理如下: 遍历项目用户 对于每个用户,循环浏览在最后一个小时内编写的所有注释 如果有任何不是用户编写的注释,请将它们推送到数组中 如果注释数组不为空,请向用户发送电子邮件 下面是一些代码: <?php $users_query = mysql_query("SELECT * FROM users"); $comments_query = mysql_query("SELECT * FROM comments c, user
<?php
$users_query = mysql_query("SELECT * FROM users");
$comments_query = mysql_query("SELECT * FROM comments c, users u WHERE c.date > DATE_SUB(NOW(), INTERVAL 1 HOUR) and c.user_id = u.id");
while ($user = mysql_fetch_assoc($users_query)) {
$commentsArr = array();
while ($comment = mysql_fetch_assoc($comments_query)) {
if ($comment['email'] != $user['email']) {
array_push($commentsArr, $comment['comment']);
}
}
// send $commentsArr by email to $user['email']
}
?>
还有其他处理方法吗?所有其他有类似问题的人都被建议加入他们的表格,而不是分开。我不认为我能做到这一点,因为我必须首先检查所有用户,所以如果我加入他们,我将拥有比用户更多的行
无论如何,有没有一种方法可以在循环内部循环注释?在循环外部使用$commentsArr数组:
<?php
$users_query = mysql_query("SELECT * FROM users");
$comments_query = mysql_query("SELECT * FROM comments c, users u WHERE c.date > DATE_SUB(NOW(), INTERVAL 1 HOUR) and c.user_id = u.id");
$commentsArr = array();
while ($user = mysql_fetch_assoc($users_query)) {
while ($comment = mysql_fetch_assoc($comments_query)) {
if ($comment['email'] != $user['email']) {
array_push($commentsArr, $comment['comment']);
}
}
// send $commentsArr by email to $user['email']
}
?>
在while循环外部使用$commentsArr数组:
<?php
$users_query = mysql_query("SELECT * FROM users");
$comments_query = mysql_query("SELECT * FROM comments c, users u WHERE c.date > DATE_SUB(NOW(), INTERVAL 1 HOUR) and c.user_id = u.id");
$commentsArr = array();
while ($user = mysql_fetch_assoc($users_query)) {
while ($comment = mysql_fetch_assoc($comments_query)) {
if ($comment['email'] != $user['email']) {
array_push($commentsArr, $comment['comment']);
}
}
// send $commentsArr by email to $user['email']
}
?>
在while循环外部使用$commentsArr数组:
<?php
$users_query = mysql_query("SELECT * FROM users");
$comments_query = mysql_query("SELECT * FROM comments c, users u WHERE c.date > DATE_SUB(NOW(), INTERVAL 1 HOUR) and c.user_id = u.id");
$commentsArr = array();
while ($user = mysql_fetch_assoc($users_query)) {
while ($comment = mysql_fetch_assoc($comments_query)) {
if ($comment['email'] != $user['email']) {
array_push($commentsArr, $comment['comment']);
}
}
// send $commentsArr by email to $user['email']
}
?>
在while循环外部使用$commentsArr数组:
<?php
$users_query = mysql_query("SELECT * FROM users");
$comments_query = mysql_query("SELECT * FROM comments c, users u WHERE c.date > DATE_SUB(NOW(), INTERVAL 1 HOUR) and c.user_id = u.id");
$commentsArr = array();
while ($user = mysql_fetch_assoc($users_query)) {
while ($comment = mysql_fetch_assoc($comments_query)) {
if ($comment['email'] != $user['email']) {
array_push($commentsArr, $comment['comment']);
}
}
// send $commentsArr by email to $user['email']
}
?>
我从
mysql
切换到mysqli
,现在mysqli\u数据搜索($comments\u query,0)代码>按预期工作。我从mysql
切换到mysqli
,现在mysqli\u data\u seek($comments\u query,0)代码>按预期工作。我从mysql
切换到mysqli
,现在mysqli\u data\u seek($comments\u query,0)代码>按预期工作。我从mysql
切换到mysqli
,现在mysqli\u data\u seek($comments\u query,0)代码>按预期工作。
<?php
$users_query = mysql_query("SELECT * FROM users");
$users = mysql_fetch_array($users_query);
$comments_query = mysql_query("SELECT * FROM comments c, users u WHERE c.date > DATE_SUB(NOW(), INTERVAL 1 HOUR) and c.user_id = u.id");
$comments = mysql_fetch_array($comments_query)
foreach($user as $users) {
$commentsArr = array();
foreach($comment as $comments) {
if ($comment['email'] != $user['email']) {
array_push($commentsArr, $comment['comment']);
}
}
// send $commentsArr by email to $user['email']
}
?>
当mysql被折旧时,你不应该使用mysql;当mysql被折旧时,你不应该使用mysql;当mysql被折旧时,你不应该使用mysql;当mysql被折旧时,你不应该使用mysql;当mysql被折旧时,你不应该使用mysqli;当mysql被折旧时,你不应该使用mysqli;当mysqli被折旧时,你不应该使用mysqli;当mysqli被折旧时,你不应该使用mysqli;当mysqli被折旧时,你不应该使用mysqli;或者PDO,那不会有什么区别,因为问题是mysql\u fetch\u assoc被多次调用。如果在while循环中调用意味着它显示一个空数组。这没有什么区别,因为问题是mysql\u fetch\u assoc被多次调用。如果在while循环中调用意味着它显示一个空数组。这没有什么区别,问题在于多次调用mysql\u fetch\u assoc
。如果在while循环内调用,则表示它显示一个空数组。这不会有什么区别,因为问题在于多次调用mysql\u fetch\u assoc
。如果在while循环内调用,则表示它显示一个空数组。