0
我試圖在一段時間內找到字母的出現()..但它現在對我來說還不是很適合。 ..這是我現在所擁有的代碼:檢查並顯示出現信件的次數(A,B,C等)。PHP
$sql = "SELECT name FROM shops ORDER BY name ASC";
$result = mysqli_query($conn,$sql);
// Previous or first letter
$first = "";
// Current letter
$current = "";
$c_instances = 0;
while($obj = mysqli_fetch_object($result)){
$current = strtoupper(substr($obj->name,0,1));
if(empty($first)){
$first = strtoupper(substr($obj->name,0,1));
}
if($current != $first){
?>
<a href=""><li><?=$first;?> <span><?=$c_instances;?></span></li></a>
<?
$first = strtoupper(substr($obj->name,0,1));
$c_instances = 0;
}
$c_instances++;
}
這不工作之類的,但是當它涉及到的最後一個字母,它並沒有表現出來。現在它是現在,它的範圍從A-H,但它只顯示從A到F,而不是最後兩個以「H」開頭的商店。我有點知道是什麼造成了它,但我的大腦現在無法繞過它。我相信這是因爲它使用$ first而不是$ current,所以它會回顯出前面的那個。讓我知道是否你有一個想法來解決這個..謝謝
當然,你可以做到這一點的計算在SQL – RiggsFolly
你只需要在你的'while'循環之外重複這一行(再一次),'=$first;?>=$c_instances;?> ' –
謝謝你的隊友。 – Anders