PDA

View Full Version : سوال: سوال راجب ساخت و نمایش زیر دسته ها



theboy
چهارشنبه 07 اسفند 1392, 10:46 صبح
سلام.
من برای سیستم نیاز به قابلیت ساخت و نمایش زیر دسته بندی دارم. تیبل دسته ها به این صورته:
id name mother
که برای دسته های مادر، mother = 0 هست و دسته های زیر مجموعه هم motherـشون همون id دسته مادر هست، میشه بهترین راه برای نمایش زیر دسته ها رو بگید؟(ترجیحا بشه بهشون استایل خاص هم داد)
و اینکه اگه میشه بگید با این روش ممکنه مثلا 3 شاخه زیر دسته ایجاد کرد؟

theboy
چهارشنبه 07 اسفند 1392, 12:40 عصر
دوستان شرمنده من یه مقدار کارم عجله ایه ممنون میشم سریع جواب بدید.

tux-world
چهارشنبه 07 اسفند 1392, 15:29 عصر
خوب از ul میتونین استفاده کنید. هر چند تا خواستید میتونین زیر دسته داشته باشید.




<ul>
<li></li>
<li>
<ul>
<li></li>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
</li>
</ul>
</li>
</ul>

theboy
چهارشنبه 07 اسفند 1392, 19:30 عصر
دوست عزیز قسمت نوع برنامه نویسیش مد نظرمه، php,mysql

***BiDaK***
چهارشنبه 07 اسفند 1392, 20:37 عصر
$conn = mysqli_connect('localhost', 'root', '', 'test');
$result = mysqli_query($conn, 'select * from cat where parent=0');
if (mysqli_num_rows($result))
{
echo "<ul>";
while ($rows = mysqli_fetch_assoc($result))
{
echo "<li><strong>{$rows['name']}</strong>";
$sub = mysqli_query($conn, "select * from cat where parent={$rows['id']}");
if (mysqli_num_rows($sub))
{
echo "<ul>";
while ($subRows = mysqli_fetch_assoc($sub))
{
echo "<li>{$subRows['name']}</li>";
}
echo "</ul>";
}
echo "</li>";
}
echo "</ul>";
}

tux-world
چهارشنبه 07 اسفند 1392, 21:14 عصر
نوشتن یه ul تو در تو که کاری نداره. شما کدی که نوشتید چیه؟

afshin9032
پنج شنبه 08 اسفند 1392, 00:03 صبح
یک پیشنهاد ، نام فیلد mother رو به parent تغییر بدی ، جدولت معنای بهتری پیدا میکنه .

سلام.
من برای سیستم نیاز به قابلیت ساخت و نمایش زیر دسته بندی دارم. تیبل دسته ها به این صورته:
id name mother
که برای دسته های مادر، mother = 0 هست و دسته های زیر مجموعه هم motherـشون همون id دسته مادر هست، میشه بهترین راه برای نمایش زیر دسته ها رو بگید؟(ترجیحا بشه بهشون استایل خاص هم داد)
و اینکه اگه میشه بگید با این روش ممکنه مثلا 3 شاخه زیر دسته ایجاد کرد؟

maysam.m
پنج شنبه 08 اسفند 1392, 11:26 صبح
برای این کار قبلا یه کلاسی معرفی کرده بودم :
http://barnamenevis.org/showthread.php?236905-%DA%A9%D9%84%D8%A7%D8%B3-%D9%85%D9%88%D8%B6%D9%88%D8%B9-(%D8%AF%D8%B3%D8%AA%D9%87)

perkas
سه شنبه 18 آذر 1393, 20:41 عصر
$conn = mysqli_connect('localhost', 'root', '', 'test');
$result = mysqli_query($conn, 'select * from cat where parent=0');
if (mysqli_num_rows($result))
{
echo "<ul>";
while ($rows = mysqli_fetch_assoc($result))
{
echo "<li><strong>{$rows['name']}</strong>";
$sub = mysqli_query($conn, "select * from cat where parent={$rows['id']}");
if (mysqli_num_rows($sub))
{
echo "<ul>";
while ($subRows = mysqli_fetch_assoc($sub))
{
echo "<li>{$subRows['name']}</li>";
}
echo "</ul>";
}
echo "</li>";
}
echo "</ul>";
}





میشه همین رو به صورت pdo توضیح بدین ؟

***BiDaK***
سه شنبه 18 آذر 1393, 23:43 عصر
$conn = new PDO("mysql:host=localhost;dbname=test;", 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',));


$result = $conn->query('select * from cat');
if (count($result) > 0)
{
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
echo "<ul>" . PHP_EOL;
foreach ($rows as $value)
{
if ($value['parent'] == 0)
{
echo " <li><strong>". $value['name'] ."</strong>" . PHP_EOL;


foreach ($rows as $inf)
{
if ($value['id'] == $inf['parent'])
{
echo " <ul>" . PHP_EOL;
echo " <li>". $inf['name'] ."</li>" . PHP_EOL;
echo " </ul>" . PHP_EOL;
}
}
echo " </li>" . PHP_EOL;
}
}
echo "</ul>" . PHP_EOL;
}