【问题标题】:Compare query result to array PHP将查询结果与数组 PHP 进行比较
【发布时间】:2013-06-16 22:12:00
【问题描述】:

我有一个数组 $columns ,其中包含用户选择的值。用户值应该保存在数据库表中,以便下次用户不会因为他或她上次选择的值而获得积分。杂乱?有点代码plz?好的:

$columns= isset($_POST['column']) ? $_POST['column'] : array();
print_r($columns);

因此,所有被选择的列的值为 1,而其他列的值为 0。这给了我:

Array ( [0] => 1 [1] => 1 [2] => 1 [4] => 1 [7] => 1 )

我有一个包含 8 个不同列的数据库表,命名为 column1,column2,columnN.... 我想将数据库表与我的数组进行比较。知道要更新哪一列。现在我在想:

while($row = mysql_fetch_array( $result )) {
    if($row['column'.$checks]!=1){
        //update table with values
     }
    }

我应该将我的数组与 $row 进行比较吗?还是十字路口?如何从我的数组中获取所需的值?

【问题讨论】:

标签: php sql arrays sorting


【解决方案1】:

为什么不将所有这些表合并为一个。

id  |  column_id  |  check

这将使更新值更容易

foreach ($columns as $column_id => $value) {
   // UPDATE `table` SET check = {$value} WHERE column_id = {$column_id};
}

【讨论】:

  • 但表格看起来不像 (ID->1 column_id->1,2,3,6,7 check->1) 或:)?
  • 不!因为您正在遍历所有列 ID 并一次更新一个!
猜你喜欢
  • 2015-08-06
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多