php - 通过多个复选框从数据库表中排序 php

标签 php mysql

我有一个关于按字母顺序显示数据库数据的问题。 我有 2 个 ckeckbox,如果选中 nr.1,则必须按字母顺序显示表“companyName”中的数据,但如果选中 chechbox nr.2,则必须按字母顺序显示表“stade”中的数据。

我对编码非常陌生,所以如果有人可以解释或向我展示它应该是什么样子,我会很高兴。

这是复选框:

  <fieldset>
    <dl">
        <dt><label for="sleep">Sortering:</label></dt>
        <dd>
            <input type="checkbox" name="" value="Alfabetisk A-Z"/>
            <label for="alfabetiskA-z" class="opt">Alfabetisk A-Z</label>
            <input type="checkbox" name="" value="Alfabetisk Stade"/>
            <label for="alfabetiskStade" class="opt">Alfabetisk Stade</label>
        </dd>
    </dl>
</fieldset>

这是我在数据库中显示数据的位置:

 echo '
              <table class="tableUser">
                <tr class="topColor">
                  <td>Stade</td>
                  <td>Firmanavn</td>
                  <td>Navn</td>
                  <td>Telefon nr.</td>
                  <td>E-mail adresse</td>
                </tr>';


              $class0 = "trColor0";
              $class1 = "trColor1";

              $query = mysqli_query($conn,"SELECT * FROM creatUser ORDER BY companyName ASC");

              while( $result = mysqli_fetch_array($query)) {
                $id = $result['id'];
                $class = "trColor". $i%2;

                echo '

                <tr class="'.$class.'">
                  <td VALIGN=TOP>'.$result['locationNumber'].'</td>
                  <td VALIGN=TOP>'.$result['companyName'].'</td>
                  <td VALIGN=TOP>'.$result['fName'] . ' ' . $result['lName'].'</td>
                  <td VALIGN=TOP>'.$result['phone'].'</td>
                  <td VALIGN=TOP>'.$result['eMail'].'</td>
                </tr>';
                $i++;


              }

最佳答案

您必须为复选框命名,以便获得用户选择的内容:

        <input type="checkbox" name="sort" value="Alfabetisk A-Z"/>
        <label for="alfabetiskA-z" class="opt">Alfabetisk A-Z</label>
        <input type="checkbox" name="sort" value="Alfabetisk Stade"/>
        <label for="alfabetiskStade" class="opt">Alfabetisk Stade</label>

然后在 PHP 中,您可以:

if (!isset($_POST['sort']) || $_POST['sort'] == 'Alfabetisk A-Z') {
    $order = 'companyName'
} else {
    $order = 'stade';
}

$sql = "SELECT * FROM creatUser ORDER BY $order ASC";
$query = mysqli_query($conn, $sql) or die (mysqli_error($conn));

关于php - 通过多个复选框从数据库表中排序 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20593173/

相关文章:

mysql - 当我按字母顺序排列结果时?

Mysql查询数据子集

mysql - mysql查询后释放内存

php - 来自 DB 的漂亮 URL

php - 调整大小并保存 html2canvas 生成的图像

php - MySQL 和 PHP 插入查询失败

mysql - Rails 3. 没有这样的文件要加载 -- 生产中的 mysql2/mysql2

php - 在 debian 上安装 pecl

php - 将 JSON 数组从 android 发送到 Php

php - 网页不显示db内容