HTML/Ajax/PHP-如何检查是否选中/哪些复选框,并为每个复选框执行不同的操作

HTML/Ajax/PHP-如何检查是否选中/哪些复选框,并为每个复选框执行不同的操作,php,html,sql,ajax,Php,Html,Sql,Ajax,如上所述,我“我正在尝试创建一个简单的html/PHP页面。单击submit按钮时,我希望根据选中的复选框运行不同的SQL代码。SQL代码非常简单,它只是为每个复选框显示不同的表,但我不知道如何检查复选框是否被选中。下面是我的HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ricky Deacon, CSIS3380 Assignmen

如上所述,我“我正在尝试创建一个简单的html/PHP页面。单击submit按钮时,我希望根据选中的复选框运行不同的SQL代码。SQL代码非常简单,它只是为每个复选框显示不同的表,但我不知道如何检查复选框是否被选中。下面是我的HTML代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Ricky Deacon, CSIS3380 Assignment 3. Show Table.html</title>
</head>
<body>
    <h1>Book-O-Rama Catalog Search</h1>

    <form action="showtab.php" method="post">
        <fieldset><legend>Which Tables Would You Like To View?</legend>
            <p>                 
                Customers 
                <input type="checkbox" name="table" value="cust"/>&nbsp; &nbsp; &nbsp;
                Orders 
                <input type="checkbox" name="table" value="ord"/>&nbsp; &nbsp; &nbsp;
                Order Items 
                <input type="checkbox" name="table" value="itms"/>&nbsp; &nbsp; &nbsp;
                Books
                <input type="checkbox" name="table" value="book"/>&nbsp; &nbsp; &nbsp;
                Book Reviews
                <input type="checkbox" name="table" value="brev"/> <br /><br />
                <input type="submit" name="submit" value="Show Tables">
            </p>
        </fieldset>                         
    </form>
</body>

里基·迪肯,CSIS3380任务3。Show Table.html
Book-O-Rama目录搜索
您希望查看哪些表?

客户
命令
订购项目
书
书评


我还没有编写PHP响应,因为我不确定从哪里开始


谢谢

Hello可以通过
showtab.php中的
$\u POST['table']
获取所有选中值

Hello可以通过
showtab.php中的
$\u POST['table']
获取所有选中值。您可以检查showtab.php中是否选中了复选框。提交表单时,输入的“值”属性将过帐到“名称”属性。如果复选框为空,则不会发布任何内容

<?php
    if(isset($_POST['table']) && $_POST['table'] == 'cust') {
      // Show table here
    }
    else {
      // Do something else here.
    }    
?>


您的复选框需要唯一的名称。

您可以检查showtab.php中是否选中了复选框。提交表单时,输入的“值”属性将过帐到“名称”属性。如果复选框为空,则不会发布任何内容

<?php
    if(isset($_POST['table']) && $_POST['table'] == 'cust') {
      // Show table here
    }
    else {
      // Do something else here.
    }    
?>


您的复选框需要唯一的名称。

以下是您需要执行的操作的更完整答案:

已编辑-还包括您的输入所需的外观

<input type="checkbox" name="table[]" value="cust"/>Orders 
<input type="checkbox" name="table[]" value="ord"/>Order Items 
<input type="checkbox" name="table[]" value="itms"/>Books
<input type="checkbox" name="table[]" value="book"/>Book Reviews
<input type="checkbox" name="table[]" value="brev"/>

<?php
    // Check that the values you're trying to access have actually been posted
    // 'table' is the 'name' of your input
    if (!empty($_POST['table'])) {
        // If it's not empty then set the variable
        $tables = $_POST['table'];
    }
    // If it is empty (Your form didn't submit this input)
    else {
        // end processing or return to the previous page
        return false;
    }

    // You will now need to loop through the array
    foreach ($tables as $table) {
        switch($table) {
            case 'cust':
                // Run Cust SQL Query
                break;
            case 'ord':
                // Run ord SQL Query
                break;
            case 'itms':
                // Run itms SQL Query
                break;
            case 'book':
                // Run book SQL Query
                break;
            case 'brev':
                // Run brev SQL Query
                break;
        }
    }
?>
订单
订购项目
书
书评

以下是您需要做的更完整的回答:

已编辑-还包括您的输入所需的外观

<input type="checkbox" name="table[]" value="cust"/>Orders 
<input type="checkbox" name="table[]" value="ord"/>Order Items 
<input type="checkbox" name="table[]" value="itms"/>Books
<input type="checkbox" name="table[]" value="book"/>Book Reviews
<input type="checkbox" name="table[]" value="brev"/>

<?php
    // Check that the values you're trying to access have actually been posted
    // 'table' is the 'name' of your input
    if (!empty($_POST['table'])) {
        // If it's not empty then set the variable
        $tables = $_POST['table'];
    }
    // If it is empty (Your form didn't submit this input)
    else {
        // end processing or return to the previous page
        return false;
    }

    // You will now need to loop through the array
    foreach ($tables as $table) {
        switch($table) {
            case 'cust':
                // Run Cust SQL Query
                break;
            case 'ord':
                // Run ord SQL Query
                break;
            case 'itms':
                // Run itms SQL Query
                break;
            case 'book':
                // Run book SQL Query
                break;
            case 'brev':
                // Run brev SQL Query
                break;
        }
    }
?>
订单
订购项目
书
书评

您可能不希望else语句,只希望几个if语句单独显示多个不同的表。:)检查我下面的答案,他不需要为每个复选框指定唯一的名称,他只需要将其作为数组传递,
name=“table[]”
,然后在他的PHP页面中循环。您可能不希望else语句,只需要几个if语句就可以显示多个不同的表。:)检查我下面的答案,他不需要每个复选框都有唯一的名称,他只需要将其作为数组传递,
name=“table[]”
,然后在他的PHP页面loop-through.giolliano-sulit中——这个响应看起来就像我需要的。如果我想包括选中多个复选框的可能性,我“我猜/else是否比switch/case更合适,但是如何从多个框中获取选中值。。。我需要分配给多个变量吗?哦,好吧,看起来我把它误读为“无线电”输入。因为所有复选框的名称都相同,所以需要将它们重命名为,
name[]
,因为它们需要是一个数组。@RickD我已经更新了我的答案,这应该是您需要的,如果答案是,请接受:)我可以执行if>if>if语句而不是else if语句吗,否则,我将需要不断重复相同的代码,同时检查越来越多的复选框。我尝试过用if语句编写代码(不使用else if),但它只显示最后一个复选框的表if>if语句的问题是它可能会匹配多次。。例如,如果有人选择了
cust
order
。以下
if
语句将返回true并运行:
if($table=='cust'){//do something}
if($table=='cust'&&&$table=='order'){//do something}
。这不是你希望发生的行为。如果你接受这个答案,请告诉我,谢谢。乔利亚诺·苏利特——这个回答看起来正是我需要的。如果我想包括选中多个复选框的可能性,我“我猜/else是否比switch/case更合适,但是如何从多个框中获取选中值。。。我需要分配给多个变量吗?哦,好吧,看起来我把它误读为“无线电”输入。因为所有复选框的名称都相同,所以需要将它们重命名为,
name[]
,因为它们需要是一个数组。@RickD我已经更新了我的答案,这应该是您需要的,如果答案是,请接受:)我可以执行if>if>if语句而不是else if语句吗,否则,我将需要不断重复相同的代码,同时检查越来越多的复选框。我尝试过用if语句编写代码(不使用else if),但它只显示最后一个复选框的表if>if语句的问题是它可能会匹配多次。。例如,如果有人选择了
cust
order
。以下
if
语句将返回true并运行:
if($table=='cust'){//do something}
if($table=='cust'&&&$table=='order'){//do something}
。这不是你希望发生的行为。如果你接受这个答案,请告诉我,谢谢。