将变量从一段时间传递到另一段时间

时间:2015-11-18 01:58:13

标签: php sql foreach while-loop

这个表格有点问题。 在fprm页面上,我的代码是:

s = s.filter("term", price = 20)
results = s.execute().to_dict()

在流程页面上如下所示:

         <form action="?act=process" method="post">
         <?php $sql = "SELECT * FROM schedule WHERE day = '$day' ORDER BY ID ASC";
         $hours = mysql_query($sql);
         while ($hour = mysql_fetch_array($hours)) { ?>     

         <input type="text" name="course" value="<?=$hour[course]?>">
         <input type="hidden" name="id" value="<?=$hour[ID]?>">

         <?php } ?>

         <button type="submit">Submit</button>

我需要做的就是在一段时间内传递所有变量,以便在我的sql数据库中更新每个变量。

我得到的错误是:警告:传递给each()的变量不是/ path_domain中的数组或对象

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

原因是您尝试将id / course数据用作数组,但只传递字符串。为了避免这种情况,只需将[]添加到字段名称中,即可将字段表示为数组:

     <input type="text" name="course[]" value="<?=$hour[course]?>">
     <input type="hidden" name="id[]" value="<?=$hour[ID]?>">

答案 1 :(得分:0)

在字段名称后添加[]括号。

<form action="?act=process" method="post">
     <?php $sql = "SELECT * FROM schedule WHERE day = '$day' ORDER BY ID ASC";
     $hours = mysql_query($sql);
     while ($hour = mysql_fetch_array($hours)) { ?>     

     <input type="text" name="course[]" value="<?=$hour[course]?>">
     <input type="hidden" name="id[]" value="<?=$hour[ID]?>">

     <?php } ?>

     <button type="submit">Submit</button>