<?php
$rec = mysql_query ("SELECT `id`,`title` FROM `djf`");
while ($my = mysql_fetch_assoc ($rec))
{
print '
<ul class="nav">
<li> <a href="view_cat.php?cat='.(int)$my["id"] . '">'.mysql_real_escape_string ($my["title"]).'</a> </li>
</ul>';
if ($my['id'] == 9) {break;}
}
?>
<p> А ВОТ В ЭТОМ МЕСТЕ, МНЕ НАДО ВЫВЕСТИ СТИЧНУЮ html РАЗМЕТКУ, ПОСЛЕ ЧЕГО ПРОДОЛЖИТЬ ВЫВОД ИЗ БАЗЫ КАК ПОКАЗАНО НИЖЕ </p>
<?php
while ($my = mysql_fetch_assoc ($rec))
{
print '
<ul class="nav">
<li> <a href="view_cat.php?cat='.(int)$my["id"] . '">'.mysql_real_escape_string ($my["title"]).'</a> </li>
</ul>';
if ($my['id'] == 14) {break;}
}
?>
Может я ошибаюсь, но мне кажется я нашел дурандотское решение(я новичок). Будут ли ассоциативные массивы, пускай и повторяющие ($my = mysql_fetch_assoc ($rec)) тянуть рессурсы сервера? Наверное, есть какой-то более правильный способ. Спасибо!
Спустя 1 час, 16 минут, 16 секунд (21.12.2011 - 02:46) vital написал(а):
Цитата |
cat='.(int)$my["id"] . '" |
здесь не надо приводить тип к инту.
Вы берете строку, делаете ее явно числом, потом снова не явно строкой.
Цитата |
Наверное, есть какой-то более правильный способ. |
Используйте просто один цикл.
Ничего не мешает закрыть пхп тег внутри цикла, вывести разметку, и снова открыть и продолжить цикл.
И еше - намного лучще это хтмл сгенерить один раз еще на сервере, а дальше сделать просто 2 раза echo $peremennaya_s_paginatorom
Спустя 1 час, 1 минута, 41 секунда (21.12.2011 - 03:48) SitnikovArtur написал(а):
Для начала можно заранее определить номера айдишников ($my['id']), после которых будет выводиться какой-то статический код.
Затем можно определить функцию, которая будет выводить некий html код в зависимости от номера id ($my['id'])
потом просто выводите все в одном цикле, а по нужному условию запускаете функцию
если функция вывода html кода не требуется, так как код может быть только одного вида, а само появление кода требуется например после каждого пятого сообщения, то можно поставить примерно такое условие
так как массив начинается с нулевого элемента, а не с первого, избавиться от погрешности можно добавлением в условие еденицы
$arrayStaticCode = array(9,14);
Затем можно определить функцию, которая будет выводить некий html код в зависимости от номера id ($my['id'])
function echoStaticCode($id)
{
if (id == 9) echo '9';
if (id == 14) echo '14';
// switch
потом просто выводите все в одном цикле, а по нужному условию запускаете функцию
// вместо if ($my['id'] == 9) {break;}
if (in_array($my['id'], $arrayStaticCode)) echoStaticCode($my['id']);
если функция вывода html кода не требуется, так как код может быть только одного вида, а само появление кода требуется например после каждого пятого сообщения, то можно поставить примерно такое условие
if ($my['id'] % 5 == 0) {echo 'html код';}
так как массив начинается с нулевого элемента, а не с первого, избавиться от погрешности можно добавлением в условие еденицы
if ( ($my['id'] + 1) % 5 == 0) {echo 'html код';}
Спустя 7 часов, 17 минут, 3 секунды (21.12.2011 - 11:05) kir25 написал(а):
Спасибо, vital и SitnikovArtur -доберусь до дома и сразу попробую посоветованные вами решения. Осталось два, в принципе, только теоритеческих вопроса - может подскажете:
А в принципе один и тот же ассоциативный массив в разных циклах тянет рессурсы?
Я написал свою движку для сайта - правда, не знаю насколько это оправданно по сравнению с Джумла или Вордпресс, но вот решил попробовать. на Денвере все работает на сервер еще не грузил - контентом забиваю.
Ваше впечатление - что лучше нормальный самописный движок (сайт не сложный, постараюсь оптимизировать) или Джумла, Вордпресс?
А в принципе один и тот же ассоциативный массив в разных циклах тянет рессурсы?
Я написал свою движку для сайта - правда, не знаю насколько это оправданно по сравнению с Джумла или Вордпресс, но вот решил попробовать. на Денвере все работает на сервер еще не грузил - контентом забиваю.
Ваше впечатление - что лучше нормальный самописный движок (сайт не сложный, постараюсь оптимизировать) или Джумла, Вордпресс?
Спустя 1 час, 16 минут, 4 секунды (21.12.2011 - 12:21) SitnikovArtur написал(а):
Можно написать блог, который на обычном хостинге за 150 руб/мес. потянет в 20 раз больше пользователей онлайн, чем вордпресс, а можно написать что и в 20 раз меньше.
Если самописный движок использует запросы сложнее select a, b, c from d where e in (x, y, z) из не memory таблиц, а тем более left join, и это не поиск, то такой движок был написан зря. Есть еще несколько ньансов, почему лучше самописные решения, но все они касаются исключительно производительности. Производительность это вообще самое важное в программировании.
Если самописный движок использует запросы сложнее select a, b, c from d where e in (x, y, z) из не memory таблиц, а тем более left join, и это не поиск, то такой движок был написан зря. Есть еще несколько ньансов, почему лучше самописные решения, но все они касаются исключительно производительности. Производительность это вообще самое важное в программировании.