javascript - PHP/MySQL - 来自数据库的数据复选框,提交 2 个参数

标签 javascript php jquery mysql checkbox

所以,我为此苦苦挣扎了很长一段时间。

我需要制作一个包含数据库中复选框的列表,例如[汽车 ID 和值(value)复选框][品牌][型号]。然后,我们需要从列表中选择两辆车,并且选择两辆车 - 我们应该阻止所有未选中的车辆,直到已选中的车辆不会被取消选中。然后,我们需要将所选汽车的两个汽车 ID 提交到 list.php 页面。如果选择一辆车或没有选择一辆车,则不会提交。

我不明白如何实现。有人知道如何解决这个问题吗? 是的:jquery 是可取的,ajax 不是(因为我从来没有使用过它,而且我认为我在这里不需要它,因为我只需要将参数传输到另一个页面)

我的代码

<?php
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "jdmdb";

$con = mysqli_connect($hostname, $username, $password) or die(mysqli_error());
$con->query("SET NAMES cp1251");
$con->select_db($dbname);
$result = mysqli_query($con, 'select * from cars') or die(mysqli_error($con));
$rows = $result->fetch_all(MYSQLI_ASSOC);
?>

<html>
    <head>
            <meta http-equiv="Content-Tуpe" сontent="tехt/html; charset=utf-8">
        <title>JDM Database</title>
        <script src=../js/jquery-2.1.4.js type=text/javascript></script>
    </head>
    <body>
        <form name=carlist method=post action="list.php">
        <?
            foreach ($rows as $row) {
                echo '<input type=checkbox name="car_short" value="'.$row['car_short'].' id='.$row['car_short'].'"> '.$row['brand'].' '.$row['model'].' '.$row['spec'].' ('.$row['year'].')<br/>';
            }
            $res = count($rows);  
            echo '<input type=submit value=123>';
        ?>
        </form>
<?            
        mysqli_close($con);
    ?>
    </body>
</html>

最佳答案

您可以将数据数组发送到list.php 为此,您应该使用以下语法

echo '<input type=checkbox name="car_short[]" value="'.$row['car_short'].' id='.$row['car_short'].'"> '.$row['brand'].' '.$row['model'].' '.$row['spec'].' ('.$row['year'].')<br/>';

这会将 $_POST['car_short'] 作为两个选定值的数组发送。如果您想在提交后检查所选汽车的数量,请使用

if(count($_POST['car_short'])<2){// place error;}

否则你可以使用 jquery 检查有多少个复选框被选中,否则返回 false。为此,请更改表单代码,如下所示

<form method=post action="list.php" onSubmit="check();">

检查功能将是

function check(){
   var n = $("input:checkbox:checked").length;
   return n>1;
}

注意:请注意该方法,由于我拼写错误的变量,确切的代码可能无法正常工作

关于javascript - PHP/MySQL - 来自数据库的数据复选框,提交 2 个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120568/

相关文章:

javascript - 如何绑定(bind)每次 ng-click 提交一次?

Javascript - 解析自定义标签的最佳方式

javascript - 预定义我正在制作的变量类型

php mysql select 用于组织结构图/多级结构

javascript - 使用 Jquery 并使用 this 关键字将 CSS 添加到一组图像

c# - 在 jQuery Tag-it UI 小部件上获取错误无法加载资源

javascript - MVC6 Validation-For 属性无法正常工作?

Javascript 字符串从随机字符动画到预定义

javascript - AJAX 表单提交不阻止默认操作

php计算表格行数