|
|
|
| Здраствуйте, у мегя такая проблема, у мя есть таблица categories в ней содержится id, title с нее в меню у меня выводятся категории, и таблица data в ней содержится id, cat, title, text, когда кликаю по категориям в меню выводятся статьи с таблицы data, как сделать чтоб при клике по категории в меню выводились подкатегории деревом вместе с подподкатегориями(не в мнею а на странице)а их подкатегорий и подподподкатегорий статьи из таблицы data | |
|
|
|
|
|
|
|
для: divine266
(29.11.2009 в 14:48)
| | Добавте в таблицу с категориями поле podcat, если равна 0 - основная категория, иначе указывается ID категории к которой относится эта подкатегория. | |
|
|
|
|
|
|
|
для: DEM
(29.11.2009 в 14:49)
| | А как это вывести на страницу? можно более подробо пожалкйста, буду очень благодарен | |
|
|
|
|
|
|
|
для: divine266
(29.11.2009 в 14:48)
| |
<?php
$query - mysql_query("SELECT * FROM `category` WHERE `podcat`='".$_GET['catid']."'");
while($a = mysql_fetch_array($query))
{
echo "Тут выводим данные о подкатегориях";
}
$query - mysql_query("SELECT * FROM `data` WHERE `cat`='".$_GET['catid']."'");
while($a = mysql_fetch_array($query))
{
echo "Тут выводим данные о статьях";
}
?>
|
Как-то так... Скрее всего можно сделать это всё через один SQL-запрос, но сейчас голова не работает думать, хотя вроде не сложно сделать... | |
|
|
|
|
|
|
|
для: DEM
(29.11.2009 в 16:22)
| |
<p>
<?php
// дальше идут подтемы(это только кусок кода)
$result=mysql_query("select * from cena where cat in (1,2,3) order by cat",$db);
$cat=0;
while($row=mysql_fetch_assoc($result)){
if($cat!=$row['cat']){
if($cat!=0) echo '</p><p>';
$cat=$row['cat'];
echo'<font size="+1">Тема '.$cat.'</font><br />';
}
echo'<font style="margin-left:40px;"><input name="diza" type="radio" value="'.$row['cena'].'" />'. $row['name'].'</font><br />';
}
?>
</p>
|
Вот здесь это упоминалось
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=68314&page=1 | |
|
|
|
|
|
|
|
для: DEM
(29.11.2009 в 16:22)
| | Это код который у меня в меню
<?
$result2 = mysql_query ("SELECT * FROM categories", $db);
if (!$result2)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору! <br> <strong>Код ошибки:</strong> </p>";
exit(mysql_error());
}
if (mysql_num_rows($result2) > 0)
{
$myrow2 = mysql_fetch_array($result2);
do
{
printf ("<ul class='LeftMenu'><li><a href=nav.php?cat=%s>%s</a></li></ul>",$myrow2["id"],$myrow2["title"]);
}
while ($myrow2 = mysql_fetch_array($result2));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit ();
}
?>
|
а это то что выводится при клике по категории
<?
$result = mysql_query ("SELECT id,title,description,date,mini_img,view FROM data WHERE cat='$cat'", $db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору! <br> <strong>Код ошибки:</strong> </p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<table class='post' align='center'>
<tr>
<td class='post_title'>
<p class='post_name'><a href='adds.php?id=%s'>%s</a></p>
<div class='data'>Добавлено: %s</div>
</tr>
<tr>
<td><img class='img_cat' align='left' src='%s'><p class='text_cat'>%s</p></td>
</tr>
<tr>
<td><div class='view'>Просмотров: %s</div></td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["date"],$myrow["mini_img"],$myrow["description"],$myrow["view"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit ();
}
?></p>
|
чет не так и непонял куда здесь впихнуть подкатегории | |
|
|
|
|
|
|
|
для: divine266
(29.11.2009 в 14:48)
| | Создайте табличку category с полями id; parent_id; name
И выводите категории и подкатегории одним рекурсивным запросом
select * from category where parent_id=$id_parent; | |
|
|
|
|
|
|
|
для: divine266
(29.11.2009 в 14:48)
| |
<?
function getCategoryes( $parent=0, $i=0 )
{
//$db = new CDB();
$query = "select * from `categoryes` where `parent` = '".$parent."'";
//$db->setQuery( $query );
//$result = $db->getArrayResult();
$r = @mysql_query($query);
$result = @mysql_fetch_assoc($r);
foreach( $result as $row )
{
$z = $i+1;
echo '<a';
echo ' onclick="(document.getElementById(\'div'.$row['id'].'\').style.display == \'none\' ? document.getElementById(\'div'.$row['id'].'\').style.display = \'block\' : document.getElementById(\'div'.$row['id'].'\').style.display = \'none\' )"';
//echo ' href="?category_id='.$row['id'].'"';
echo '>'.$row['category_name'].'</a><br />';
echo '<div id="div'.$row['id'].'" style="display:none; padding-left:'.( (int)( $z.'0' ) ).'px;">';
getCategoryes( $row['id'], $z );
echo '</div>';
}
}
?>
|
| |
|
|
|
|
|
|
|
для: divine266
(29.11.2009 в 14:48)
| | Здоров!
Значит так: с таблицами данных сам разберешься!
А вот код который будет выводить в меню, менюшку с категориями и под категориями!
Однако если не калымиш в php, то извини разжевать тебе не смогу!
<ul>
<?
do {
$title_cat = $myrow_categories['title'];
$title_id = $myrow_categories['id'];
echo <<<text
<li><a>$title_cat</a>
<ul>\n
text;
$result_subcategories = mysql_query("SELECT * FROM subcategories WHERE cat=$title_id",$db);
if (!$result_subcategories) { $mysql_error = mysql_error(); exit("$error_result<br /><br /><strong>Код ошибки: </strong>$mysql_error</div>"); }
if (mysql_num_rows($result_subcategories) > 0) { $myrow_subcategories = mysql_fetch_array($result_subcategories); } else { exit("$empty_result"); }
do {
printf (" <li><a href='#'>%s</a></li>\n",$myrow_subcategories['title']);
} while ($myrow_subcategories = mysql_fetch_array($result_subcategories));
echo <<<text
</ul>
</li>\n
text;
} while ($myrow_categories = mysql_fetch_array($result_categories));
?>
</ul>
|
| |
|
|
|
|
|
|
|
для: Евгений-php
(10.08.2012 в 16:22)
| | Взрыв из прошлого... | |
|
|
|
|
|
|
|
для: Valick
(10.08.2012 в 18:19)
| | И код написан по правилам древнегреческих манускриптов, но какая концовка: "Однако если не калымиш в php, то извини разжевать тебе не смогу!" ) | |
|
|
|