Чтобы получить половину записей таблицы MySQL, это то, что я использую:
$numRows=mysql_num_rows(mysql_query("SELECT * FROM cultures")); $half = $numRows/2;
Затем по каждой стороне страницы я ограничиваю количество записей половиной, а с другой стороны я заказываю DESC
вместо этого, чтобы получить вторую половину:
$result = mysql_query("SELECT * FROM cultures ORDER BY name ASC LIMIT ".$half); while($row = mysql_fetch_array($result)) { $url = "artists.php?culture=".ucfirst($row['name']); echo '<div class="homepage_culture_item"> <a href="'.$url.'"></a> <img src="/images/flags/'.$row['name'].'.png" style="width: 30px; vertical-align: middle; margin-right: 10px;" />'.$row['name'].' </div> <br />'; }
Что отлично работает, как вы можете видеть на этом скриншоте:
Однако, если в таблице есть нечетное количество записей, я получаю сообщение об ошибке:
Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан в C: \ wamp \ www \ index.php в строке 50
Он отлично работает, когда есть четное количество записей, но если добавляется еще один, вместо того, чтобы просто помещать его на одну сторону, он запутывается, потому что он, вероятно, возвращает ошибку, потому что, когда вы разделите 15 на 2, это будет десятичное и MySQL LIMIT
не может принимать десятичные знаки (очевидно). Есть ли лучший способ сделать то, что я пытаюсь сделать?
Заранее спасибо!