php - 从数据库到可编辑形式的数组

标签 php sql database mariadb

我想制作一个表单,在其中可以编辑从数据库中获取的数组中的信息。然后将它们放在带有字符串的表单中,这样我就可以从数据库中编辑每个类别的值,然后将更改后的信息发送到数据库。当我使用此命令时

$db = new PDO('mysql:host=mariadb.spectrogon.local;dbname=gitter;charset=utf8', 'gitter_in', 'gitter_in');
$sql = "call hämta_artikel_info('715.702.930')";
$result = $db->query($sql);
$printable = $result->fetchAll();
print_r($printable);


我得到以下数组

     (
        [artikel_nr] => 715.702.930
        [0] => 715.702.930
        [points] => 50x50 5 
        [1] => 50x50 5 
        [points2] => 50x50 5 
        [2] => 50x50 5 
        [scale] => 1 + 0.75
        [3] => 1 + 0.75
        [energy] => 70
        [4] => 70
        [value] => 5.000
        [5] => 5.000
        [nollan] =>
        [6] =>
        [approved_from] =>
        [7] =>
        [approved_to] =>
        [8] =>
    )


现在,我想将我从该数组中获得的所有信息放入表格中。这样我就可以编辑该信息

以下SQL:据我所知," call hämta_artikel_info(715.702.930)"应该是一个select程序

我的完整代码是atm。

    <?php

echo "test";

error_reporting(E_All);
error_reporting(E_ERROR | E_WARNING | E_PARSE);



$db = mysqli_connect('mysql:host=mariadb.spectrogon.local;dbname=gitter;charset=utf8', 'gitter_in', 'gitter_in');
$connection = new Connection;
$db = $connection->openConnection();

$stmt = $db->prepare("call hämta_artikel_info('715.702.930')");
$stmt->execute();
print_r($stmt);



echo "
    while($results = $stmt->fetch()){  
    <form name='form' method='post' action=''>
    <tbody>
    <tr>
    <td><input type='text' name='id' readonly class='form-control-plaintext' value=" . $results['artikel_nr'] ."></td>
<td><input type='submit' name='update' value='Update' class='form-control'></td>";



 if(isset($_POST['update']))
{    
    $var= $_POST['var'];
    if(empty($var){
   echo"variable is empty ";
}

    else {    
        $stmt = $db->prepare("UPDATE table_name SET col_name='" .$var. "'");
}
 $stmt->execute();
        @header("Location: stackoverflow.php");
    }
}


?> 


请记住,我是编程的新手,所以非常感谢详细的解释。

最佳答案

$result = $stmt->get_result();
echo "<form name='form' method='post' action =''>
         <tbody>";
     while ($row = $result->fetch_assoc()) {?>    
        <td>
            <input type='text' name='id' readonly class='form-control-plaintext' value="<?php echo $row['artikel_nr'];?>">
        </td>

    <?php}
    echo "<td>
            <input type='submit' name='update' value='Update' class='form-control'>
        </td>
    </tbody>
</form>";

关于php - 从数据库到可编辑形式的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50017465/

相关文章:

php - preg_match编译失败:字符类中的无效范围

php - 使用内连接选择 id

mysql - 用父子关系连接三个表

database - 如何转义在 Informix 中用作标识符的保留字

带有消息 "Could not close zip file php://output."的 PHPExcel_Writer_Exception

php - 为什么 rtrim 会删除不在右边的东西?

php - 如何在任何方法php中存储临时数据

sql - 如何用SQL Server实现LIMIT?

sql - 没有子查询的表的多次传递

java - 尝试保留主键具有唯一约束的实体时出错