排序SQL数据库按字母顺序的链接/按钮
你好scripterfriends,排序SQL数据库按字母顺序的链接/按钮
我工作的一个项目,我需要进行排序按字母顺序排列的一行。寻找一些解决方案后,我没有找到我正在寻找的解决方案。假设我只需要以字母“F”开头的产品。我希望它像下面的图片:https://gyazo.com/488ccc8fd2beaadbc96d687938e5a6ff
我需要能够点击F和让它只显示产品开始与F.
我有这样的伎俩,但我需要的代码更改代码以获得另一封信。这是我到目前为止的代码:
<?php
require_once 'config.php';
try {
$sQuery = "SELECT receptnummer, receptnaam, receptingredient, receptbereidingstijd, receptbereidingswijze, receptcategorie, receptbenodigdheden, receptserveertips, klantnummer
FROM recept
WHERE receptnaam LIKE '%f%' ORDER BY receptnaam";
$oStmt = $db->prepare($sQuery);
$oStmt->execute();
if ($oStmt->rowCount() > 0) {
echo '<table border="2">';
echo '<thead>';
echo '<td>receptnummer</td>';
echo '<td>receptnaam</td>';
echo '<td>receptingredient</td>';
echo '<td>receptbereidingstijd</td>';
echo '<td>receptbereidingswijze</td>';
echo '<td>receptcategorie</td>';
echo '<td>receptbenodigdheden</td>';
echo '<td>receptserveertips</td>';
echo '<td>klantnummer</td>';
while ($aRow = $oStmt->fetch(PDO::FETCH_ASSOC)) {
echo '<tr>';
echo '<td>' . $aRow['receptnummer'] . '</td>';
echo '<td>' . $aRow['receptnaam'] . '</td>';
echo '<td>' . $aRow['receptingredient'] . '</td>';
echo '<td>' . $aRow['receptbereidingstijd'] . '</td>';
echo '<td>' . $aRow['receptbereidingswijze'] . '</td>';
echo '<td>' . $aRow['receptcategorie'] . '</td>';
echo '<td>' . $aRow['receptbenodigdheden'] . '</td>';
echo '<td>' . $aRow['receptserveertips'] . '</td>';
echo '<td>' . $aRow['klantnummer'] . '</td>';
echo '</tr>';
}
echo '</table>';
} else {
echo 'helaas, geen gegevens gevonden';
}
} catch (PDOException $e) {
$sMsg = '<p>
Regelnummer: ' . $e->getLine() . '<br/>
Bestand: ' . $e->getFile() . '<br/>
Foutmelding: ' . $e->getMessage() . '
</p>';
trigger_error($sMsg);
}
$db = null;
?>
有人可以帮我解决这个吗???
由于提前,
DigitalDentist
应用此查询
$sQuery="SELECT receptnummer, receptnaam, receptingredient, receptbereidingstijd, receptbereidingswijze, receptcategorie, receptbenodigdheden, receptserveertips, klantnummer
FROM recept
WHERE receptnaam LIKE 'f%' ORDER BY receptnaam";
整个诀窍是这个查询里面:
$sQuery="SELECT receptnummer, receptnaam, receptingredient, receptbereidingstijd, receptbereidingswijze, receptcategorie, receptbenodigdheden, receptserveertips, klantnummer
FROM recept
WHERE receptnaam LIKE '%f%' ORDER BY receptnaam";
所有你需要做的是更换f
在LIKE '%f%'
有一个变量,你可以从POST/GET请求获取。
编辑:正如其他人提到的,您应该用f%
替换您的%f%
,除非您正在寻找只包含字母f的字。
但是,无论如何,要使字母“A”显示一切与A和“B”与B等等。就像这样的菜单:“A | B | C | D | ...”? – DigitalDentist
@DigitalDentist我不确定如果我理解正确。是否需要显示按字母顺序排序的整个表的内容?如果是这样,你将不得不运行多个查询。制作一个字符串'$ alphabet ='abcdefghijklmnopqrstuvwxyz'',然后将你的代码放入FOR循环中,以便在该字符串中的每个字符。不要忘记在每个查询之后执行'mysqli_next_result($ database);'以便您可以发送一个新的 –
我已经找到了它自己;)感谢您的帮助! – DigitalDentist
如果某物以“F”开头,则移除“%f%”中的第一个百分号 –
是fred是正确的%f%表示前面的任何内容然后是'f',那么如果使用类似命令的话后面的任何内容 – Gert
单击一封信,所有的记录都已经显示在客户端?如果是这样,似乎过滤客户端会更好,因为不需要再次访问服务器。 – David