Php 复选框以随机方式删除列表
我有一个收藏车的列表,我在每个收藏车中添加了一个复选框,允许用户从收藏车列表中删除收藏车。问题是复选框的工作方式不同:如果我选中任何一辆车(第一辆、第二辆、最后一辆或多辆车),然后点击“提交”,则将被删除的车是最后添加的车,而不是删除选定的车。如果我检查多辆车,发生同样的事情,只删除最后添加的车 PHPPhp 复选框以随机方式删除列表,php,checkbox,Php,Checkbox,我有一个收藏车的列表,我在每个收藏车中添加了一个复选框,允许用户从收藏车列表中删除收藏车。问题是复选框的工作方式不同:如果我选中任何一辆车(第一辆、第二辆、最后一辆或多辆车),然后点击“提交”,则将被删除的车是最后添加的车,而不是删除选定的车。如果我检查多辆车,发生同样的事情,只删除最后添加的车 PHP public function GetFavoriteCars() { include("inc/membersite_config.php"); $email = $fgmembers
public function GetFavoriteCars() {
include("inc/membersite_config.php");
$email = $fgmembersite->UserEmail(); // this is how I take the e-mail of the
global $base_path;
$FavoriteCars = $this->QueryResult("SELECT * FROM favoritecar WHERE email='$email'");
if (count($FavoriteCars)) {
$mystring='http://';
echo '<form action="" class="deletebutton" method="post">';
echo '<input type="submit" name="deletebtn" id="deletebtn" value="Submit">';
echo '<div class="roster_slideri-login">';
foreach ($FavoriteCars as $FavoriteCar) {
$carlink = $FavoriteCar->favoritecarlink;
echo '<div class="car-info-col-login">';
echo '<input type="checkbox" name="checkbox" value="'.$carlink.'" class="checkbox-login">';
$val=strpos($FavoriteCar->favoritecarimg,$mystring);
if ($val !== false) {
if($FavoriteCar->favoritecarimg!='') {
echo '<a href="'.$base_path.'detail-page_'.$FavoriteCar->favoritecarlink.'">';
echo '<img src="'.$FavoriteCar->favoritecarimg.'" alt="'.$FavoriteCar->favoritecartitle.'" width="160" height="120" />';
echo '</a>';
echo '<div class="name">'.substr($FavoriteCar->favoritecartitle,0,20).'</div>';
echo '</div>'; //car-info-col-login
}
} else {
echo '<a href="'.$base_path.'detail-page_'.$FavoriteCar->favoritecarlink.'">';
echo '<img src="'.$base_path.'uploads/no-img.jpg" alt="'.$FavoriteCar->favoritecartitle.'" width="160" height="120" />';
echo '</a>';
echo '<div class="name">'.substr($FavoriteCar->favoritecartitle,0,20).'</div>';
echo '</div>';
}
}
echo '</form>';
if (isset($_POST["checkbox"])) {
$this->QueryResult("DELETE from favoritecar WHERE email='$email' AND favoritecarlink='$carlink'");
echo '<script type="text/javascript">alert("Car had been deleted");</script>';
}
echo '</div>'; // div roster_slideri-login
}
}
预期产出
当我选中一辆车的复选框时,它应该只删除那辆车。如果我选中多辆车的复选框,我应该删除我选中的特定车
请帮帮我,我是个不折不扣的人。我在这里检查了很多问题,但没有找到我的答案。在这行:
echo '<input type="checkbox" name="checkbox" value="'.$carlink.'" class="checkbox-login">';
--------------
然后,$\u POST[“checkbox”]
将是一个数组,您可以在其上使用foreach
来获取所有选中的值
if( isset( $_POST["checkbox"] ) )
{
foreach( $_POST["checkbox"] as $value )
{
/* $value contains $carlink */
echo $value; // For test purpose
/* Sanitize and use it to identify and delete the corresponding row */
}
}
(与其选择另一个名称,不如选择另一个名称。)尝试在
中添加方括号,但仍然不起作用。而foreach
如何工作?我明白你的意思,但不知道从哪里开始。我试着做了if(isset($\u POST[“checkbox”]){foreach($\u POST[“checkbox”]as$value){$this->QueryResult(“从favoritecar中删除,其中email='$email'和FavoriteCalink='$carlink'));echo'alert(“汽车已被删除”);}
但仍不工作。同样的事情。我真的很感谢你的努力。你能根据我的密码帮我吗,我今天打哈欠了:(.在foreach中添加了回音,并选择了第二辆车,结果是从favoritecar中删除,其中email='10〕info@email.com'AND favoritecarlink='1565924.html'
.1565924.html不是第二辆车,仍然是最后一辆车。所以它仍然是最后一辆车。也在mysql中手动运行它,并正确删除它,但最后一辆车。所以它仍然没有检测到右复选框。在DELETE
查询中,使用$value
$value
而不是$value
是foreach中使用的变量。($carlink
是获取删除最后一个car链接的最后一个car链接)。这是我的错误,我已更新了我的答案。您可以尝试将删除相关代码移到顶部,刚好位于$FavoriteCars=$this->QueryResult…
和$email=$fgmembersite->UserEmail();
下面。
echo '<input type="checkbox" name="checkbox[]" value="'.$carlink.'" class="checkbox-login">';
----------------
if( isset( $_POST["checkbox"] ) )
{
foreach( $_POST["checkbox"] as $value )
{
/* $value contains $carlink */
echo $value; // For test purpose
/* Sanitize and use it to identify and delete the corresponding row */
}
}