我有一个关于按字母顺序从数据库中显示数据的问题。 我有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++;
}
答案 0 :(得分:0)
您必须为复选框指定名称,以便获得用户选择的内容:
<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));