Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取已更改的select in表的值_Php_Mysql - Fatal编程技术网

Php 获取已更改的select in表的值

Php 获取已更改的select in表的值,php,mysql,Php,Mysql,我需要获取所选选择项的值 如更改行的orderno 这张桌子看起来像这样 如果我将1002号订单更改为已售出 $query = mysql_query("select * from orders"); while($row = mysql_fetch_assoc($query)) { echo '<tr>'; echo '<td>'.$row['orderno'].'</td>'; echo '<td>'.$r

我需要获取所选选择项的值 如更改行的orderno

这张桌子看起来像这样

如果我将1002号订单更改为已售出

$query = mysql_query("select * from orders");

while($row = mysql_fetch_assoc($query))
{
    echo '<tr>';
       echo '<td>'.$row['orderno'].'</td>';
       echo '<td>'.$row['total'].'</td>';
       echo '<td>';
           if($row['status'] == "sold")
           {
              echo '<select name = "status[]">';
                  echo '<option value = "sold" selected>Sold</option>';
                  echo '<option value = "cancelled">Cancelled</option>';
              echo '</select>';
           }
           else
           {
               echo '<select name = "status[]">';
                  echo '<option value = "sold">Sold</option>';
                  echo '<option value = "cancelled" selected>Cancelled</option>';
               echo '</select>';
           }
       echo '</td>
     echo </tr>';
}

if(isset($_POST['status']))
{
    //sample only
    echo "You change orderno ".$orderno_here." with the
    total of ".$total_of_order." into ".$selected_status_of_orderno_here;
}
$query=mysql\u查询(“从订单中选择*);
while($row=mysql\u fetch\u assoc($query))
{
回声';
回显'.$row['orderno'].';
回显'.$row['total'].';
回声';
如果($row['status']==“已售出”)
{
回声';
echo‘出售’;
回声“取消”;
回声';
}
其他的
{
回声';
echo‘出售’;
回声“取消”;
回声';
}
回声'
回声';
}
如果(isset($_POST['status']))
{
//仅样品
用
将“$total\u of_order.”的总计添加到此处的“$selected\u status\u of_orderno\u”;
}
表中有许多记录,所选内容相同


根据您的问题,无论我理解什么,我如何获取所选select的值,根据我的理解,我假设您从页面中的表单类标记获取数据。如果是这样的话,您就知道哪一个值被更改为反映在db中。所以你可以从这里选择。 您可以通过以下代码检查更改:

if(isset($_POST['element'])){
   //if this block executed, the <element> named element is changed
}
if(isset($\u POST['element'])){
//如果执行此块,则会更改命名元素
}

如果您在代码中使用的不是这种情况,请忽略此答案。

每个
元素的选定值都将随表单一起提交,无论是否更改了默认值。假设您已将表单元素命名为
status[]
,PHP将把提交的数据解析为数组,例如
$\u POST['status'][0]
$\u POST['status'][1]
,等等。您可以检查每个提交的元素的值,然后决定如何处理它们。但是,如果您按订单号为每个表单元素编制索引(例如,
),您可能会发现更容易。好的,但是我如何知道我使用订单号作为索引更改了哪个选择状态?一种方法可能是与数据库中当前的数据进行比较。。。