Я пытаюсь найти вхождения букв через некоторое время() .. но это не совсем работает для меня прямо сейчас. .. Это код я прямо сейчас:Проверьте и отобразите, сколько раз появляется письмо (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