我想列出基于类别表的复选框中的子类别列

时间:2015-03-15 04:32:31

标签: php mysql

enter image description here 我想在复选框中显示属于ch_cat表的子类别列。

我在此列出了我的类别表:

    <form action="tutorsubject.php">
            <?php
            $sql = "SELECT * FROM `ch_cat`";
            $result = mysql_query($sql);
            while( $row = mysql_fetch_assoc($result) ){ ?>
            <label>
            <input type="checkbox" name="segment[]" value="<?php echo $row['pid']; ?>"> <?php echo $row['p_cat']; ?>
            </label>
            <?php    
            }
            ?>
        <input type="submit" value="tutorsubject"/>
        </form>

Tutorsubject.php

if (isset($_POST['tutorsubject'])) {
    $segment = $_POST['segment'];
    print_r($segment);
    //how to write query here based on child_cat table.
}

我的问题是:

  1. 首先我列出了child_cat列中的复选框。在这里用户选择教学部分。(假设我选择了Btech,java或数字 由用户做出的选择。)
  2. 现在print_r给出。Array ( [0] => 3 [1] => 13 )。这里有3和13 child_cat主键传递给sub_cat表。
  3. 如何根据print_r值写入查询。在我的图片中,您可以看到3 和13有sub_cat列值 .how引入查询。
  4. 我面临着如何写入查询的问题。我们的价值观 将要显示必须在复选框。
  5. 我希望每个人都能理解这一点和stackteam请给我一个 完美的查询。为此

1 个答案:

答案 0 :(得分:0)

获取子类别与您在此处获取类别的方式相同,只需循环遍历它。

试试这个:

<?php
if (isset($_POST['tutorsubject'],$_POST['segment'])) {

    $segment = $_POST['segment'];

    foreach ($segment as $sub_cat)
    {

        $sql = "SELECT * FROM `sub_cat` WHERE cid = ".$sub_cat;
        $result = mysql_query($sql);
        while ($row = mysql_fetch_assoc($result)) {
            ?>
            <label>
                <input type="checkbox" name="sub_segment[]" value="<?php echo $row['sid']; ?>"> <?php echo $row['sub_cat']; ?>
            </label>
            <?php
        }
    }
}
?>