我有一个显示数据库演出的页面。首次加载仅显示每个条目的标题,显示完整详细信息的按钮,以及要删除的按钮(尚未使用)
我无法为foreach循环的每个条目传递ID值。无论我点击哪一个,它总是传递最后一个条目的ID号。所以我总是看到第二次演出的细节,即使我点击第一个。 (我现在在数据库中只有两个演出)
如何传递我点击SHOW按钮的ID的任何建议?
这是我的代码
require_once "gigPDO.php";
//Show button is pressed
if (isset ( $_POST ["show"])) {
$id = $_POST ["id"];
//$id = 5;
try {
$dbase = new gigPDO();
$result = $dbase->searchGig($id);
//print_r($result);
foreach($result as $gig){
print("<p>Title: " . $gig->getTitle());
print ("<br>Venue: " . $gig->getVenue());
print ("<br>Date: " . $gig->getDate());
print ("<br>Time: " . $gig->getTime());
print ("<br>Country: " . $gig->getCountry());
print ("<br>Address: " . $gig->getAddress());
print ("<br>Postcode: " . $gig->getPostcode());
print ("<br>City: " . $gig->getCity());
print("<br>Description: " . $gig->getDescription() . "</p>");
echo "<br />";
unset($_POST ["show"]);
echo "<a href='searchGigs.php'>Back to list</a>";
exit();
}
exit ();
} catch ( Exception $error ) {
print("<p>Error: " . $error->getMessage ());
exit ();
}
}
//First load, shows all gigs
try {
$dbase = new gigPDO();
$result = $dbase->allGigs();
foreach($result as $gig){
print("<p>". $gig->getTitle(). "<p>");
print ("<input type='hidden' name='id' value='".$gig->getId() ."'>");
print('<input type="submit" name="show" class="next show-button" value="Show" />');
print(' <input type="submit" name="delete" class="next show-button" value="Delete" />');
echo "<br />";
echo "<br />";
}
if ($dbase->getRows() == 0){
print("There are no gigs in the database yet");
}else{
print("<p>Total " . $dbase->getRows() . " gigs</p>");
}
} catch ( Exception $error ) {
print("<p>Error: " . $error->getMessage ());
}
答案 0 :(得分:0)
如果您使用var selectedItem = Colors.Items
.Cast<ComboBoxItem>()
.Where(e => e.Tag.ToString() == "#FDB75B")
.FirstOrDefault();
Colors.SelectedItem = selectedItem;
代替button
,则可以将ID嵌入按钮而不是使用隐藏输入。
input type="submit"
您当前的工作方式可以工作,但您需要在每组输入周围添加单独的echo '<button type="submit" name="id" class="next show-button" value="'.$gig->getId().'" />
Show
</button>';
标记。目前,当您提交表单时,所有这些隐藏的输入都会被提交,并且由于它们具有相同的名称,因此您将获得最后一个的值。按照我建议的方式进行操作,只会提交您点击的按钮的值。