Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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提交按钮修改PDO查询结果中的mysql记录_Php_Mysql_Pdo_Sql Update - Fatal编程技术网

使用php提交按钮修改PDO查询结果中的mysql记录

使用php提交按钮修改PDO查询结果中的mysql记录,php,mysql,pdo,sql-update,Php,Mysql,Pdo,Sql Update,我有一个显示查询结果的php页面。我希望能够更改结果页面中的特定列 echo "<table> <tr> <th>First</th> <th>Last</th> <th>Time</th> <th>Reason</th> <th>Status</th> <th>Update</th&

我有一个显示查询结果的php页面。我希望能够更改结果页面中的特定列

echo "<table>
  <tr>
    <th>First</th>
    <th>Last</th>
    <th>Time</th>
    <th>Reason</th>
    <th>Status</th>
    <th>Update</th>
  </tr>";

// displaying data from database mysql using foreach loop

foreach ($pdoResult as $row)
{  
  echo"<tr>
    <td><p>$row[1]</p></td>
    <td><p>$row[2]</p></td>
    <td><p>$row[4]</p></td>
    <td><p>$row[5]</p></td>
    <td>
      <form action='update.php' method = 'post'>
        <select name='$row[0]'>
          <option name= 'status' value='$row[6]'>$row[6]</option>
          <option name= 'status' value='seen Benson'>seen Benson</option>
          <option name= 'status' value='seen cooper'>seen Cooper</option>
          <option name= 'status' value='seen Sheen'>seen Sheen</option>
          <option name= 'status' value='seen Wilks'>seen Wilks</option>
          <option name= 'status' value='not seen'>not seen</option>
        </select>
    </td>
    <td>
        <input type='submit' name='$row[0]' value='update'>
      </form> 
    </td>
  </tr>";   
}
echo "</table>";
echo”
弗斯特
最后
时间
理由
地位
更新
";
//使用foreach循环显示数据库mysql中的数据
foreach($PDO结果为$row)
{  
回声“
$row[1]

$row[2]

$row[4]

$row[5]

$row[6] 看见本森了吗 看见库珀了吗 看见光泽 看见威尔克斯了吗 不见 "; } 回声“;
“更新提交”按钮不起作用

如何对submit按钮进行编码以识别特定查询结果的唯一ID,然后更改“状态”并在mysql数据库中更新它

我认为您希望使用唯一id来显示文本或输入字段中的特定行,而不是在数据库中更新它们。这里我只是给你举了一个普通id的例子。 如果要添加唯一id以显示结果并进行更新,则必须将id修改为uni:

class user{
public uid='';
public function __construct($data=''){
if(array_key_exist('uid',$data)){
this->uid=$data['uid'];
}
}

public function update(){

    try {
        $pdo = new PDO('mysql:host=localhost;dbname=db', 'root', '');
        $query = "UPDATE `users` SET user_name = :u_name WHERE uid="."'".$this->uid."'";

        $stmt = $pdo->prepare($query);
        $stmt->execute(array(

            ':u_name' => $this->user_name

        ));

    } catch(PDOException $e) {
        echo 'Error: ' . $e->getMessage();
    }
}
在“…uid=”我已经写了

$query = "UPDATE `users` SET user_name = :name WHERE uid="."'".$this->uid."'";

因为我在varchar中设置了uid的类型,所以我将其保持为(“'”$this->uid。“”)这样。所以我希望你能得到你的答案,尝试一下,并给出反馈。谢谢。

您所说的“更新提交按钮不起作用”是什么意思?为什么你要把你的
和你的
都命名为同一个东西?你根本没有显示你的更新代码,所以很难判断出哪里出了问题。另外,
不能是
的子代,所以这应该是固定的。也没有php/mysql来支持这个问题。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:。