Массив из базы данных в редактируемую форму - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу создать форму, в которой я могу редактировать информацию из массива, полученного из моей базы данных. Затем поместите их в форму со строками, чтобы я мог редактировать значения каждой категории из базы данных, а затем отправлять измененную информацию в базу данных. Когда я использую эту команду

$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 процедура

Мой полный код атм.

    <?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");
    }
}


?> 

Имейте в виду, что я очень новичок в программировании, поэтому буду очень признателен за подробные объяснения.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018
$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>";
0 голосов
/ 25 апреля 2018

поставить цикл foreach как

foreach($printable as $data) {
 echo $printabel->username;

}

определить каждую вещь в одиночку $printable->your database fields here;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...