|
|
|
| Есть две таблицы tabl.1 и tabl.2 :
ID title ID cat subcat
1 птицы 1 1 орел
2 звери 2 1 ворона
3 2 конь
4 2 волк
|
ID table.1 соответствует cat table.2. Вопрос: как вывести в PHP эти данные в таком виде :
птицы:
орел
ворона
звери:
конь
волк | |
|
|
|
|
|
|
|
для: Death4Free
(17.03.2011 в 17:15)
| | Давайте сначал составим запрос
SELECT
typeanimal.title AS typetitle,
animal.title AS title
FROM
`2` AS animal
LEFT JOIN
`1` AS typeanimal
ON (animal.cat = typeanimal.id)
ORDER BY typeanimal.title, animal.title
| результатом которого будет следующая результирующая таблица
звери волк
звери конь
птицы ворона
птицы орел
|
| |
|
|
|
|
|
|
|
для: Death4Free
(17.03.2011 в 17:15)
| | А вывести нужные вам списки, можно при помощи следующего приема
<?php
// Устанавливаем соединение с базой данных
require_once("config.php");
// Формируем и выполняем SQL-запрос
$query = "SELECT
typeanimal.title AS typetitle,
animal.title AS title
FROM
`2` AS animal
LEFT JOIN
`1` AS typeanimal
ON (animal.cat = typeanimal.id)
ORDER BY typeanimal.title, animal.title";
$anl = mysql_query($query);
if(!$anl) exit("Ошибка выполнения SQL-запроса ".mysql_error());
if(mysql_num_rows($anl))
{
$type = "";
while($animal = mysql_fetch_array($anl))
{
if($type != $animal['typetitle'])
{
// Выводим новый тип
echo "<p><b>".$animal['typetitle'].":</b></p>";
$type = $animal['typetitle'];
}
// Выводим конкретное животное
echo "<p>".$animal['title']."</p>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.03.2011 в 17:55)
| | Спасибо за помощь ! | |
|
|
|