我想通过 express 服务调用电话。 我在 HTML 表单中 foreach,MySQL 表的调用状态为“1”,因此我可以看到女巫调用仍然需要调度。
当我将“MessagerID”放入输入文本并按下“Dispatch”按钮时,我希望该“CourseID”使用“MessengerID”进行更新,并且“Status”变为“0”。
这里有一些代码。(尚未清理...)
$query = "SELECT * FROM courses WHERE Status = :Status ORDER BY CourseRecu, Service";
$query_params = array(
':Status' => 1);
try
{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die("Échec de la Requête: " . $ex->getMessage());
}
$Courses = $stmt->fetchAll();
HTML 表单:
<?php foreach($Courses as $Course)
{
echo '<tr>';
echo '<td><input type="text" name="'. $Course['ID'] . '" value="' . $Course['ID'] . '"</td>';
echo '<td><input type="text" name="CourseRecu" value="' . $Course['CourseRecu'] . '"/></td>';
echo '<td><textarea rows="3" cols="50" name="Depart">' . $Course['DepNom'] . ' ' . $Course['DepAdresse'] . '</textarea></td>';
echo '<td>----></td>';
echo '<td><textarea rows="3" cols="50" name="Destination">' . $Course['DestNom'] . ' ' . $Course['DestAdresse'] . '</textarea></td>';
echo '<td>
<input type="text" name="MessagerID' . $Course['ID'] .'" value="' . $Course['MessagerID'] . '" /></td>';
echo '<td><input type="submit" name="submit' . $Course['ID'] . '" value="Dispatch" /></td>';
echo '</tr>';
}
我知道这是错误的,但我卡在那里......
if(!empty($_POST['submit' . $Course['ID']]))
{
$query = "UPDATE courses SET
MessagerID = :MessagerID,
Status = :Status
WHERE ID = :ID" ;
$query_params = array(
':MessagerID' => $_POST['MessagerID' . $Course['ID']],
':Status' => 0,
':ID' => $_POST[$Course['ID']]);
try
{
// Execute the query to create the user
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die("La requête à échoué: " . $ex->getMessage());
}
}
我认为我可能一直走在错误的轨道上,并且可能有更好的方法来做到这一点...... 感谢您抽出宝贵的时间! :-)
最佳答案
我将建议一些修改。
1) 在对应于特定类(class)的每组输入字段周围放置一个表单,例如
<?php foreach($Courses as $Course)
{
echo '<tr><form>';
echo '<td>
...
2) 不要根据类(class) ID 命名您的提交,而是将类(class) ID 作为表单中的隐藏字段传递。
echo '<input type="hidden" name="id" value="'. $Course['ID'].' />";
echo '<td><input type="submit" name="submit" value="Dispatch" /></td>';
echo '</form></tr>';
这样你可以检查:
if (!empty($_POST['submit']) && !empty($_POST['id'])
$CourseID = $_POST['id'];
//Do what you need to do to get the course here.
...
编辑:重命名提交的相同想法也适用于其他输入字段。
关于PHP-HTML 使用 input=text 更新 mysql,其中 POST ['submit' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35701160/