大家好,
我正在尝试使用下拉菜单从MySQL填充表单以选择我想要显示的行 下拉列表显示我需要的项目。但我想要做的是选择下拉列表中的一个项目,这些项目将填写我需要编辑的项目。
这是我到目前为止的代码,包括表单。你们给予的任何帮助都会非常感激。
选择:
<div class="panel panel-primary">
<div class="panel-heading"> Manage Tours</div>
<div class="panel-body">
<form role="form" method="post" action="">
<label for="singleSelect">Choose Tour to Edit</label>
<select class="form-control" name="tour_select">
<?php
$result = mysqli_query($mysqli,"SELECT tour_name FROM tours order by id");
while($row = mysqli_fetch_array($result))
echo "<option value='" . $row['tour_name'] . "'>" . $row['tour_name'] . "</option>";
?>
</select>
这很好用。
表单,也可以通过简单的选择查询正常工作:
<div class="form-group">
<label>Tour Name</label>
<input class="form-control" name="tour_name" value="<?php echo $row['tour_name']; ?>" />
</div>
<div class="form-group">
<label>Destination</label>
<textarea class="form-control" name="tour_to" rows="4"><?php echo $row['tour_to']; ?></textarea>
</div>
<div class="form-group">
<label>Collection</label>
<textarea class="form-control" name="tour_from" rows="4"><?php echo $row['tour_from']; ?></textarea>
</div>
<div class="form-group">
<label>Date</label>
<input class="form-control" name="tour_date" value="<?php echo $row['tour_date']; ?>" />
</div>
<div class="form-group">
<label>Pickup Time</label>
<input class="form-control" name="tour_time" value="<?php echo $row['tour_time']; ?>" />
</div>
<div class="form-group">
<label>Itinerary</label>
<textarea class="tinymce" id="tinymce" name="tour_details" rows="12" ><?php echo $row['tour_details']; ?></textarea>
</div>
<button type="submit" name="Submit" class="btn btn-primary">Save Changes</button>
</form>
但是,当我从下拉列表中选择一个选项时,我需要使用该数据库表行中的数据填充表单。我希望我有意义。 我在Google上搜索了几天但没有找到任何内容。
我已使用删除按钮将表单从下拉列表更改为html表。
以下是包含表格的代码:
<?php
if (isset($_GET['id'])) {
if (isset($_POST['Delete'])) {
$remove = $mysqli->prepare("DELETE FROM `tours` WHERE `id` = $id");
$id = $_POST['id'];
$remove->bind_param('ssssss', $id);
if(!$remove->execute() === true) {
echo $mysqli->error;
}
}
}
$sql = "SELECT * FROM tours";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
?>
<tbody>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['tour_name']; ?></td>
<td><?php echo $row['tour_to']; ?></td>
<td><?php echo $row['tour_from']; ?></td>
<td><?php echo $row['tour_date']; ?></td>
<td><?php echo $row['tour_time']; ?></td>
<td><input type="submit" name="Delete" value="Delete" onclick="" /></td>
</tr>
</tbody>
<?php
}
?>
</table>
</form>
我感谢任何帮助。
答案 0 :(得分:0)
假设您要使用$tour_id = 5
预选特定的游览。然后,您可以将代码修改为:
echo "<option value='" . $row['tour_name'] . "'" . ($row['id'] == $tour_id ? " selected" : "") . ">" . $row['tour_name'] . "</option>";
答案 1 :(得分:0)
我找到了解决方案,如果将来有人需要它。
<?php
if (isset($_POST['Delete'])){
$checkbox = $_POST['checkbox'];
$count = count($checkbox);
for($i=0;$i<$count;$i++){
if(!empty($checkbox[$i])){ /* CHECK IF CHECKBOX IS CLICKED OR NOT */
$id = mysqli_real_escape_string($mysqli,$checkbox[$i]); /* ESCAPE STRINGS */
mysqli_query($mysqli,"DELETE FROM tours WHERE id = '$id'"); /* EXECUTE QUERY AND USE ' ' (apostrophe) IN YOUR VARIABLE */
} /* END OF IF NOT EMPTY CHECKBOX */
} /* END OF FOR LOOP */
} /* END OF ISSET DELETE */
$sql = "SELECT * FROM tours";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$id = mysqli_real_escape_string($mysqli, $row['id']);
?>
<tbody>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['tour_name']; ?></td>
<td><?php echo $row['tour_to']; ?></td>
<td><?php echo $row['tour_from']; ?></td>
<td><?php echo $row['tour_date']; ?></td>
<td><?php echo $row['tour_time']; ?></td>
<?php echo "<td><input type='checkbox' name='checkbox[]' value='$id'></td>"; ?>
</tr>
</tbody>
<?php
}
?>
谢谢大家的帮助。真的很感激。