Bu Konu Kez Okundu 7 Cevap Aldı Toplam 1 Sayfa Mevcut / 1. Sayfa
YAZAN
  • fatihalp
  • MESAJI if içinde while 07.07.2008 10:39:56 Şikayet Alıntı Yap
    Kod
    if ($anamenuler_row['id'] == $altmenuler_row['bomid']) {
                    echo 
    '<ul>';
            while(
    $altmenuler_row mysql_fetch_assoc($altmenuler_sql)) {


    Arkadaşlar if ile karşılaştırma yapıyoruz fakat alt kısımda tanımlanan verilerle, tanımlanmamış olduklarından dolayı çalışmıyor. (altmenuler_row tani)
    Bunu   nasıl çözebiliriz?
    YAZAN
  • fatihalp
  • MESAJI if içinde while 07.07.2008 10:46:27 Şikayet Alıntı Yap
    şunu belirteyim şöyle yapınca:
    Kod

    $altmenuler_row 
    mysql_fetch_assoc..SORGU...
    if (
    $anamenuler_row['id'] == $altmenuler_row['bomid']) {
                    echo 
    '<ul>';
            while(
    $altmenuler_row) {

    bunu beyaz sayfa döndürüyor   :(
    YAZAN
  • Hakikat
  • MESAJI if içinde while 07.07.2008 10:55:57 Şikayet Alıntı Yap
    kardes tam olarrak ne yapmak istediğini yaz da yardımcı olalım

    ayrıca kodlarınıda tam olarak yaz
    YAZAN
  • fatihalp
  • MESAJI if içinde while 07.07.2008 11:04:17 Şikayet Alıntı Yap
    Hocam teşekkürler. Şöyle izah etmeye çalışayım bu bir menu veritabanından çekiyor, tek gıcık tarafı sınırsız alt kategori açılabilecek.

    Kod
      <ul  id="MenuBar1" class="MenuBarHorizontal">
    <?
    php  
        $anamenuler_sql 
    mysql_query("SELECT id,adi,bomid FROM menu WHERE bomid=0 ORDER BY sira");
        
    $altmenuler_row mysql_fetch_assoc(mysql_query("SELECT id,adi,bomid FROM menu WHERE bomid != 0 ORDER BY sira "));

        while(
    $anamenuler_row mysql_fetch_assoc($anamenuler_sql)) {
        echo 
    '<li><a class="MenuBarItemSubmenu" href="a.php?do='.$anamenuler_row['id'].'">'.$anamenuler_row['adi'].'</a>';
          
              if (
    $anamenuler_row['id'] == $altmenuler_row['bomid']) {
                    echo 
    '<ul>';
                    while(
    $altmenuler_row) {
                    echo  
    '<li><a  class="altmenu" href="a.php?do='.$altmenuler_row['id'].'">'.$altmenuler_row['adi'].'</a></li>';     
                  }
                    echo 
    '</ul></li>';        
            }    
        }
    ?>
      </ul>

    MENU tablosu şu şekilde:
    id-sira-bomid(bağlı olduğu menu id)-adi

    Bu kod sürekli yükleniyor sonra beyaz sayfa veriyor :(
    YAZAN
  • Hakikat
  • MESAJI if içinde while 07.07.2008 11:21:37 Şikayet Alıntı Yap
    abicim kodlamanda bir cok hata ve yanlış var

    al sana örnek bir kodlama yazıyorum

    Kod
    echo " <div id=\"Navigation\">
          <ul id=\"MenuBar1\" class=\"MenuBarHorizontal\">"
    ;
        
        
    $sor mysql_query("SELECT katadi,id,sira,url,pencere FROM menu_kategorileri ORDER BY sira ASC");
        while(list(
    $katadi,$katid,$katsira,$akaturl,$katpencere)=mysql_fetch_array($sor)){
        
        echo 
    " <li class=\"anakat_li\"><a href=\"$akaturl\" target=\"$katpencere\" class=\"MenuBarItemSubmenu\">$katadi</a>";
            
    $altsor mysql_query("SELECT katadi,sira,id,katid,pencere,url FROM menu_altkategorileri WHERE katid='$katid' ORDER BY sira ASC");
                if(
    mysql_num_rows($altsor)>0){
                 echo 
    "<ul>";

                while(list(
    $altkatadi,$altsira,$altkatid,$katid,$altpencere,$altkaturl)=mysql_fetch_array($altsor)){
                    
                    echo 
    "<li><a href=\"$altkaturl\" target=\"$altpencere\">» $altkatadi</a>";
                    
    $subsor mysql_query("SELECT baslik,sira,id,altkatid,pencere,url FROM menu_basliklari WHERE altkatid='$altkatid' ORDER BY sira ASC");
                            if(
    mysql_num_rows($subsor)>0){
                            echo  
    "<ul>";
                            
                                while(list(
    $subbaslik,$subsira,$subid,$altkatid,$subpencere,$subkaturl)=mysql_fetch_array($subsor)){
                                echo  
    "<li><a href=\"$subkaturl\" target=\"$subpencere\">$subbaslik</a></li>";
                                }
                        echo  
    "</ul>";
                        }
                    echo  
    "</li>";
                }
                 echo 
    "</ul>";    
            }
        echo 
    "</li>";
        
        
        }
        
    echo 
    "  </ul>
        </div>"
    ;
    YAZAN
  • fatihalp
  • MESAJI if içinde while 07.07.2008 11:59:34 Şikayet Alıntı Yap
    hocam tekrar teşekkürler biraz mantık kaptım ama veritabanı hakkında bilgi verebilirmisiniz merak ettim birde pencere vs. ?
    birde list'in görevi nedir acaba burada?

    YAZAN
  • Hakikat
  • MESAJI if içinde while 07.07.2008 14:38:09 Şikayet Alıntı Yap
    kardes list fonksiyonu sorgunda belirttiğin alan sıralamasını diziye atama yapar..


    diğer ratactan veritabanındaki alanlar

    1 - id
    2 - katadi
    3 - sira
    4 - url
    5 - pencere

    buradaki pencere target="_blank"   yada target="_top" şeklinde bir veriyi kapsar yeni url eklerken eger _blank diye eklemişseniz linke tıklanıldıgında yeni pencerede acar _top diye eklenmişse linke tıklanıldıgında aynı pencere üzerinden hareket eder
    örneğin bu menu yönetimini ben aşağıdaki siteye uyguladım

    http://www.kalemyazilim.com.tr/
    YAZAN
  • fatihalp
  • MESAJI if içinde while 07.07.2008 16:18:33 Şikayet Alıntı Yap
    hımm anladım sağolun güzel olmuş ayrıca. Bir arkadaş dayardım ettim sağolsun buda çalışıyor :D

    Kod
       <?php  
        $anamenu_sql 
    mysql_query("SELECT id,adi,bomid FROM menu WHERE bomid=0 and aktif != 0 ORDER BY sira");

        while(
    $anamenuler_row mysql_fetch_assoc($anamenu_sql)) {
            
    $anamenu_id $anamenuler_row['id'];
            
    $anamenu_adi $anamenuler_row['adi'];
            
            echo 
    '<li><a class="MenuBarItemSubmenu" href="a.php?do='.$anamenu_id.'">'.$anamenu_adi.'</a>';

                 
    //Alt menüle sql
                 
    $altmenu mysql_query("SELECT id,adi,bomid FROM menu WHERE bomid='".$anamenu_id."'  and aktif != 0 ORDER BY sira");
                         echo 
    '<ul>'//Alt menüle listele
                  
    while ($altmenu_row mysql_fetch_assoc($altmenu)) {
                         
    $altmenu_id $altmenu_row['id'];
                         
    $altmenu_adi $altmenu_row['adi'];
                         echo  
    '<li><a  class="altmenu" href="a.php?do='.$altmenu_id.'">'.$altmenu_adi.'</a></li>';     
                   }
                         echo 
    '</ul></li>';
             }    
    ?>