php - 在 mysql 和 php 中使用 foreach

标签 php mysql arrays foreach

我有两个数组:selected 和 Questiondesc,我想将其更新到数据库,但我的代码似乎不起作用。是否可以对每个进行嵌套?

<?php do { ?>
    <tr>
        <th width="170" scope="col">
            <input type="checkbox" name="selected[]"
                   value="<?php echo $row_Recordset1['question_id'];?>"/>
            Description:
        </th>
        <td colspan="2" scope="col">old:
            <?php echo $row_Recordset1['question_description']; ?>
            new:<input name="questiondesc[]" type="text" size="50"/>/td>
        <td width="549" colspan="2" scope="col">
            <div align="left">
        </td>
    </tr>
<?php
} while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));

if (isset($_POST['selected'])) {
    $selected = $_POST['selected'];
    $question = $_POST['questiondesc'];

    foreach ($selected as $enable) {
        mysql_query("
          UPDATE exam_questions
          SET question_description = '$question'
          WHERE question_id = '$selected'
        ") or die(mysql_error());
    }
}

最佳答案

您可以使用 for 来代替,并确保正确清理您的数据:

for ($i = 0; $i < sizeof($selected); $i++)
{
    $sql = sprintf("UPDATE exam_questions 
                       SET question_description = '%s' 
                     WHERE question_id = '%s'", 
           mysql_real_escape_string($question[$i]), 
           mysql_real_escape_string($selected[$i]));
    mysql_query($sql)or die(mysql_error());
}

请记住,上述假设问题和选择的顺序相同。

关于php - 在 mysql 和 php 中使用 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18480176/

相关文章:

php - 收到警告标题在wordpress上不得包含多个标题

php - 使用 PHP 在 MySQL 中插入注册数据

mysql 复制 - 一个数据库上的从属服务器

Java 如何在 switch 方法中使用数组

Javascript - 如何使用循环在对象内定义数组?

php - 如何从 url 链接到我们的网站获取数据

MySQL DDL 创建表时出错

MySQL 错误 1093 - 无法在 FROM 子句中指定要更新的目标表

arrays - 如何从文件中获取每一行的数据?

javascript - 我在 Wordpress 中加载更多帖子 Ajax 按钮不起作用