我正在以html形式进行更新功能。我正在通过echo
从一种形式向另一种形式发送数据以进行更新。但是我无法从第一种形式发送的数据中填充其他信息。
字段ID文本框为空。
这是我的代码:
从1开始发送密钥:
<tr>
<td style='width:150px;border:1px solid grey;'><?= $row['field_id'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['description'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['corner_points'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['notes'] ?></td>
<td style='width:150px;border:1px solid grey;'><a target="_blank" href="Edit/edit-field.php?field_id=<?php echo $row['field_id'];?>">Edit</a></td>
</tr>
接收数据edit-field.php:
<?php
if(isset($GET["field_id"]))
{
$field_id = $GET["field_id"];
}
try {
$stmt = $conn->prepare("SELECT field_id, description, corner_points, notes FROM fields where field_id = $field_id");
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetchAll();
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
<form action="" method="post" class="needs-validation" novalidate enctype="multipart/form-data">
<h6> Field </h6>
<div class="form-row">
<div class="col-md-4 mb-3">
<label for="validationCustom01">Field ID</label>
<input type="number" class="form-control" name="field_id" id="field_id" value="<?php echo $result["field_id"];?>">
</div>
</div>
<button class="btn btn-primary btn-sm" name="submit1" type="submit">Update Records</button>
</form>
答案 0 :(得分:1)
在edit-field.php中,通过URL传递的参数变量为$ _GET而不是$ GET。
将该文件的开头更改为:
if(isset($_GET["field_id"])) {
$field_id = $_GET["field_id"];
}
答案 1 :(得分:0)
您是否不必执行循环来获取结果?就像这个例子:
<?php
// $pdo est un objet PDO
try{
$stmt = $pdo->query('SELECT * FROM table');
$rows = $stmt->fetchAll();
}
catch(Exception $e)
{
exit('<b>Catched exception at line '. $e->getLine() .' (code : '. $e->getCode() .') :</b> '. $e->getMessage());
}
foreach($rows as $row) {
var_dump($row);
echo '<br />';
}