• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
درست کردن این کد برای نمایش زیر منو ها
#1
سلام من منو سایت رو کاملا داینامیک طراحی کردم و منو و زیر منو داره حالا من توی صفحه اول فقط منو های اصلی نمایش داده میشه وقتی کاربر روی هر کدوم از این منو ها کلیک می کنه به صفحه دیگه میره که منو اصلی همرا با زیر منو ها نمایش داده میشه من تمامی این قسمت هارو درست کردم فقط مشکل من در قسمت آخر که باید منو اصلی با زیر منو هاش نمایش پیدا کنه

از این کد استفاده کردم ولی درست کار نمی کنه
و من id منو اصلی را از صفحه اول میگیرم و توی این صفحه ازش استفاده می کنم

کد پی‌اچ‌پی:
<?php 

$query 
"select * from menu where parent_id=0 order by id DESC";

$q mysql_query($query);

?>

<ul id="menu">
    <?php
    
    
while($row mysql_fetch_array($q))
{
    
?>
    <li><a href="Product-pe.php?id=<?php echo $row['id'?>"><span><?php echo $row['namepe'?></span></a></li>
    <?php
    
    $lim 
mysql_query("SELECT * FROM menu WHERE parent_id=$idnumber");
    
$limit mysql_num_rows($lim);
    
    if(
$limit 0)
    {
        
        while(
$subecho mysql_fetch_assoc($lim))
        { 
?>
        
              
             <ul>
             <li><a href="Product-pe.php?id=<?php echo $subecho['id'?>"><span><?php echo $subecho['namepe'?></span></a></li>
             </ul>
             
             <?php 
             
        
}
    }
    
    

}
        
?>

ولی مشکل این کد اینه که اینجوری نمایش میده
[عکس: 7nfxseph7gqn1pkrxpt.jpg]

ولی من میخوام اینجوری نمایش بده

[عکس: soecdcwzpa2brkex1jk.jpg]
  پاسخ
تشکر شده توسط :
#2
فرض کنید منوی اصلی شما همگی پارنت 0 دارند .
حالا به ترتیب تمام منوی اصلی را نمایش دهید.
کد:
select * from menu where parent_id=0 order by id DESC
وقتی fetch میکنید بعد از نمایش هر مجموعه اصلی یه کوئری دیگه اجرا کنید برای گرفتن زیر مجموعه ها
کد:
select * from menu where parent_id={$cat['id']} order by id DESC
  پاسخ
تشکر شده توسط : reza_101010
#3
من متوجه نشدم میشه بگین دقیقا این کد باید کجا باشه؟
  پاسخ
تشکر شده توسط :
#4
توی حلقه ای که مجموعه های مادر رو برمیگردونی ، تموم زیر مجموعه ها رو هم برگردون .
حلقه تو در تو میشه دیگه .
  پاسخ
تشکر شده توسط :
#5
(۱۳۹۱ شهریور ۱۶, ۰۴:۱۵ ب.ظ)Reza نوشته: فرض کنید منوی اصلی شما همگی پارنت 0 دارند .
حالا به ترتیب تمام منوی اصلی را نمایش دهید.
کد:
select * from menu where parent_id=0 order by id DESC
وقتی fetch میکنید بعد از نمایش هر مجموعه اصلی یه کوئری دیگه اجرا کنید برای گرفتن زیر مجموعه ها
کد:
select * from menu where parent_id={$cat['id']} order by id DESC

من هم دارم همین کارو می کنم ولی مشکل اینه که id رو که میگیره برای همه منو ها فقط همون زیر منو رو نمایش می ده
  پاسخ
تشکر شده توسط :
#6
کدت رو بذار اینجا .
  پاسخ
تشکر شده توسط :
#7
(۱۳۹۱ شهریور ۲۰, ۰۴:۱۹ ب.ظ)Reza نوشته: کدت رو بذار اینجا .

ضمیمه شده


فایل‌های پیوست
.zip   Product-pe.zip (اندازه 1.21 KB / تعداد دانلود: 6)
  پاسخ
تشکر شده توسط :
#8
کسی کمک کنه یک هفتس سر این قسمت گیر کردم
  پاسخ
تشکر شده توسط :
#9
1. خیلی نامرتبه
2. ساختار دیتابیست رو بذار اینجا
3. این کدی که دادی قراره تموم زیرمجموعه ها رو بر اساس اون شناسه ای که بهش پاس میدی بخونه ؟
4. روی کاغذ بنویس برای خودت ، فکر کنم قابل درکتر باشه .
  پاسخ
تشکر شده توسط :
#10
این دیتابیس

کد:
CREATE TABLE IF NOT EXISTS `menu` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `namepe` varchar(255) COLLATE utf8_persian_ci NOT NULL,
  `nameen` varchar(255) COLLATE utf8_persian_ci NOT NULL,
  `parent_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=24 ;

توی صفحه اول فقط منو های اصلی نمایش داده میشه وقتی کاربر روی هر کدوم از این منو ها کلیک می کنه به صفحه دیگه میره که منو اصلی همرا با زیر منو ها نمایش داده میشه این کد که مشکل داره برای صفحه دوم هست باید مثل این عکس باشه

[عکس: soecdcwzpa2brkex1jk.jpg]

ولی مشکل داره مثل این عکس کار میکنه
[عکس: 7nfxseph7gqn1pkrxpt.jpg]
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان