Помощник
|
Вывод категорий с их страницами |
b1f
|
Сообщение
#1
|
||
|
|
||
|
|||
Mulder_hb |
6.9.2010, 12:20;
Ответить: Mulder_hb
Сообщение
#2
|
|
Сделать один объединяющий запрос в бд:
[PHP]$result = mysql_query("SELECT * FROM `category` LEFT JOIN `pages` USING (`category`) ORDER BY `category`");[/PHP] Поместить результат в двумерный массив: [PHP]for ($data = array(); $row = mysql_fetch_assoc($result); $data[] = $row);[/PHP] Работать с двумерным массивом: [PHP]for ($i = 0; $i < count($data); $i++) { // формировать вывод по желанию // доступ к элементам: // $data[$i]['имя_поля_в_таблице']; }[/PHP] |
|
|
LifeUP |
6.9.2010, 12:34;
Ответить: LifeUP
Сообщение
#3
|
|
Вот пробуйте, писал без проверки но принцип понят.
[PHP] /* * Достаю все категории */ $res = mysql_query ("SELECT id,category,category_rus FROM `category`"); $category = array (); $count = mysql_num_rows ($res); for ($i = 0; $i < $count; $i++) { $count[$i] = mysql_fetch_assoc ($res); } unset ($res, $count, $i); /* * Достаю все страницы */ $res = mysql_query ("SELECT id,page,page_rus,category FROM `pages`"); $pages = array (); $count = mysql_num_rows ($res); for ($i = 0; $i < $count; $i++) { $pages[$i] = mysql_fetch_assoc ($res); } unset ($res, $count, $i); /* * Вывожу на экран */ $count_categories = count ($count_categories); $count_pages = count ($count_pages); $info = '<table border="1" cellspacing="0" cellpadding="0" width="300">'; for ($c = 0; $c < $count_categories; $c++) { $info .= '<tr>'; $info .= '<td>' . $category[$i]['id'] . '</td>'; for ($p = 0; $p < $count_pages; $p++) { if ($category[$i]['category'] == $pages[$p]['category']) { $info .= '<td>' . $pages[$p]['page_rus'] . '</td>'; } } $info .= '</tr>'; } $info .= '</table>'; echo $info; [/PHP] Возможно ошибся по сравнению категорий и страниц, поправите сами. |
|
|
b1f
|
Сообщение
#4
|
|
хорошо, спасибо, попробую отпишу
|
|
|
b1f
|
Сообщение
#5
|
|
вот что вышло
категория первая страница из базы категория 2 первая страница 2 категории [PHP]function listPage() { /* Все категории */ $res = select("category",""); for ($c = array(); $category = rows($res); $c[] = $category); /* Все страницы в массив */ $res = select("pages",""); for ($p = array(); $page = rows($res); $p[] = $page); // Вывод на страницу for ($cid=0; $cid<=count($category); $cid++) { $cpc = $c[$cid]['category-rus']; for ($pid=0; $pid<=count($page); $pid++) { if ($c[$cid]['category'] != $p[$pid]['category']) continue; $cpru = $p[$pid]['page-rus']; $cpen = $p[$pid]['page']; $cpid = $p[$pid]['id']; $cp = $p[$pid]['category']; $pages_to = $cpru; } $result .=$cpc.$pages_to; } return $result; }[/PHP] впринципи все как нужно.... НО... выводит на страницу только по одной "страницы" из категории.... прошу помощи :nea: также использую другие свои функции, такие как select и rows [PHP]function select($base,$where) { $selects = mysql_query("SELECT * FROM `$base` $where") or die (error("Не могу выбрать поля из базы [<tt>$base</tt>] Ошибка MySQL: ".mysql_error()."", "<li>Не верный вызов функции.")); return $selects; } function rows($select) { return mysql_fetch_array($select); }[/PHP] Также пробывал [PHP]$pages_to .= $cpru;[/PHP] на страницу выводит категория 1 страница 1 из кат.1 категория2 страница 1 из кат.1 страница 1 из кат.2 и т.д. уже не знаю как еще можно это сделать :wacko: |
|
|
b1f
|
Сообщение
#6
|
|
:nea: помогите пожалуйст разобраться
|
|
|
b1f
|
Сообщение
#7
|
|
|
спасибо
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Нужна ли плоская структура категорий в ИМ? | 1 | noviktamw | 1170 | 26.3.2024, 21:50 автор: c4p1t4l15t |
|
Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок быстро, удобно, по доступному курсу |
200 | Sostavitel | 98169 | 11.2.2024, 21:07 автор: Wolfhound |
|
Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA). | 9 | sbitcoinru | 6780 | 10.10.2023, 19:25 автор: Sbitcoin |
|
Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH | 225 | himin | 132809 | 7.5.2023, 13:26 автор: Вера_Симонова |
|
«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«» | 13 | 101Crypta | 12160 | 18.4.2023, 23:15 автор: 101Crypta |
Текстовая версия | Сейчас: 18.4.2024, 12:14 |