Выпадающее меню CSS-шаблона разрывается при добавлении PHP

0

Я использую мобильный шаблон для личного сайта, и я использую его из-за формата меню. Источник и демонстрацию можно найти здесь http://mobifreaks.com/free-mobile-website-templates/galaxy-mobi/, и все, что я сделал, это удаление некоторых из содержимого на странице.

Меню - это меню CSS, в котором используется jquery. Я использую PHP для взаимодействия с базой данных MySQL, поэтому мне необходимо использовать страницу PHP. Если я просто сохраню страницу как страницу PHP, она отлично работает, но когда я добавляю код PHP на страницу (в теле), оба пункта меню отображаются как обычный список кнопок вместо выпадающего меню.

Я добавляю следующий PHP в div для содержимого после объявления:

<?php
while($rows=mysql_fetch_array($result) or die(mysql_error())){
?>
<table align="center" border="4" cellspacing="2" cellpadding="3" width="100%">
<tr><td>Date</td><td>Cateogry</td><td colspan="4">Decription</td><td>Credit</td><td>Debit</td></tr>
<tr><td class="datetable"><? echo $rows['date']; ?></td><td class="category"><? echo $rows['category']; ?></td><td class="description" colspan="4"><? echo $rows['description']; ?></td><td class="amount"><? echo $rows['amount']; ?></td><td class="amount"><? echo $rows['amount']; ?></td></tr>
<tr><td colspan="2" align="center"><a href="#top">Back To Top</a></td></tr>
</table>
<br>

<?php
}
?>

Мне любопытно, есть ли способ обойти это. Если вы хотите получить какой-либо код или какие-либо дополнительные разъяснения, я рад предоставить его. Спасибо за помощь.

  • 0
    почему отдельная таблица / заголовок для каждой строки БД? плюс, твой or die() бессмысленно. когда результатов больше нет, вы получите ложное значение, которое запускает матрицу, и вы получите сообщение об ошибке «ошибка не произошла».
  • 0
    Покажите ваш фактический результат в формате RENDERED HTML, а не код PHP,
Показать ещё 1 комментарий

1 ответ

0
Лучший ответ

Оператор or die в цикле while приводит к тому, что ваш PHP-код перестает выполняться, когда больше не осталось результатов. Оператор or die выполняется всякий раз, когда mysql_fetch_array возвращает false (конец вашего набора данных).

Если вы замените его while(($rows = mysql_fetch_array($result)) !== false) {, тогда ваш PHP-код будет продолжать работать и должен позволить всем выполнить правильно.

Я вижу, что вы используете функции mysql_*. Обратите внимание, что они устарели в течение некоторого времени. Я бы настоятельно рекомендовал вам изучить MySQLi или PDO MySQL.

  • 0
    Потрясающие! Благодаря тонну! Недавно я узнал, что mysql_ * устарел, но я просто хотел быстро его запустить и запустить, я ценю это предложение!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню