• 11-12-2014, 23:26:25
    #1
    Üyeliği durduruldu
    Aşağıdaki kod ile sayfalar tablosundan url ve baslik rowlarını çekiyorum aynı yere kategoriler sayfasından olanları nasıl getirebilirim? (JOIN mantığıyla)

     <select class="form-control" name="menuURL"><br />	
      <option value="/" selected>Menü bağlantısını seçiniz</option>
        <?php
         include("ayar.php");                                                                
        $SQLSorgusu = "SELECT * FROM sayfalar";
        $result = mysql_query($SQLSorgusu);
         while ($veri = mysql_fetch_array($result))  { 
           $baslik = $veri['baslik'];
            $url = $veri['url'];		
               echo '<option value="'.$url.'">'.$baslik.'</option>';
                 };
     ?>
           </select>
  • 12-12-2014, 09:21:13
    #2
    Sorduğun soruyu yanlış anlamadıysam aynısından altında kategoriler olsun istiyorsun doğrumu?

    aynı kodlardan bir daha oluşturursan olur, anladığım şekilde aşağıda düzenledim tablo adlarını düzeltirsin.

      <select class="form-control" name="menuURL"><br />     
      <option value="/" selected>Menü bağlantısını seçiniz</option> 
        <?php 
         include("ayar.php");                                                                 
        $SQLSorgusu = "SELECT url,baslik FROM sayfalar"; 
        $result = mysql_query($SQLSorgusu); 
         while ($veri = mysql_fetch_array($result))  {  
           $baslik = $veri['baslik']; 
           $url = $veri['url'];         
               echo '<option value="'.$url.'">'.$baslik.'</option>'; 
                 }; 
     ?> 
           </select>
           
     <select class="form-control" name="kategoriURL"><br />     
      <option value="/" selected>KATEGORİ Menü bağlantısını seçiniz</option> 
        <?php 
        $K_Sorgusu = "SELECT url,baslik FROM kategoriler"; 
        $r = mysql_query($K_Sorgusu); 
         while ($v = mysql_fetch_array($r))  {  
           $baslik = $v['baslik']; 
           $url = $v['url'];         
               echo '<option value="'.$url.'">'.$baslik.'</option>'; 
                 }; 
     ?> 
           </select>
  • 12-12-2014, 09:36:01
    #3
    Üyeliği durduruldu
    Oksijen adlı üyeden alıntı: mesajı görüntüle
    Sorduğun soruyu yanlış anlamadıysam aynısından altında kategoriler olsun istiyorsun doğrumu?

    aynı kodlardan bir daha oluşturursan olur, anladığım şekilde aşağıda düzenledim tablo adlarını düzeltirsin.

      <select class="form-control" name="menuURL"><br />     
      <option value="/" selected>Menü bağlantısını seçiniz</option> 
        <?php 
         include("ayar.php");                                                                 
        $SQLSorgusu = "SELECT url,baslik FROM sayfalar"; 
        $result = mysql_query($SQLSorgusu); 
         while ($veri = mysql_fetch_array($result))  {  
           $baslik = $veri['baslik']; 
           $url = $veri['url'];         
               echo '<option value="'.$url.'">'.$baslik.'</option>'; 
                 }; 
     ?> 
           </select>
           
     <select class="form-control" name="kategoriURL"><br />     
      <option value="/" selected>KATEGORİ Menü bağlantısını seçiniz</option> 
        <?php 
        $K_Sorgusu = "SELECT url,baslik FROM kategoriler"; 
        $r = mysql_query($K_Sorgusu); 
         while ($v = mysql_fetch_array($r))  {  
           $baslik = $v['baslik']; 
           $url = $v['url'];         
               echo '<option value="'.$url.'">'.$baslik.'</option>'; 
                 }; 
     ?> 
    
           </select>

    İlgin için teşekkürler fakat ben tek selectte bunu yapmak istiyorum yani tek sorgu ile iki tablodan veri çekmek.
  • 12-12-2014, 09:37:05
    #4
    inner join arastirin


    Sent from my iPhone using Tapatalk
  • 12-12-2014, 11:09:32
    #5
    Üyeliği durduruldu
    Phlegm adlı üyeden alıntı: mesajı görüntüle
    inner join arastirin
    Baya inceledim ama bir sonuca varamadım, yukarıdaki örnekten bir örnek yazabilirmisin?
  • 12-12-2014, 22:14:53
    #6
    Sorgunuz şu şekilde olmalı

    $SQLSorgusu = "SELECT s.*, k.* FROM sayfalar as s,
    left join kategoriler as k on s.kategori=k.ID";
  • 12-12-2014, 23:25:00
    #7
    Üyeliği durduruldu
    Kaplan adlı üyeden alıntı: mesajı görüntüle
    Sorgunuz şu şekilde olmalı

    $SQLSorgusu = "SELECT s.*, k.* FROM sayfalar as s,
    left join kategoriler as k on s.kategori=k.ID";
    buradaki k.ID ne oluyor? ayrıntı verebilirmisin çalışmadı ayrıca.

    you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'left join kategoriler as k on s.kategori=k.ID' at line 1
  • 12-12-2014, 23:39:54
    #8
    k.ID kategori tablosunda ki id s.kategori de sayfa tablosundaki kategori id'si olacak.

    Düzenlemeyi kendi tablo yapına göre yapmalısın.

    kategorisi tablosu
    -ID
    -Baslik
    sayfa tablosu
    -sID
    -kategori
    -sBaslik
    olsun

    o zaman sorgu

    select * from sayfa as s
    left join kategori as k on s.kategori=k.ID

    yaparsan çıktısı şu şekilde olur

    ID | Baslik | sID | kategori | sBaslik
  • 12-12-2014, 23:48:41
    #9
    Üyeliği durduruldu
    Ben yalnızca sayfalar tablosundan da kategoriler tablosunda da baslik ve url towlarını çekmek istiyorum o kadar.

    bu şekilde bir örnek verebilirmisin? saatler işin içinden çıkamadım.

    Kaplan adlı üyeden alıntı: mesajı görüntüle
    k.ID kategori tablosunda ki id s.kategori de sayfa tablosundaki kategori id'si olacak.

    Düzenlemeyi kendi tablo yapına göre yapmalısın.

    kategorisi tablosu
    -ID
    -Baslik
    sayfa tablosu
    -sID
    -kategori
    -sBaslik
    olsun

    o zaman sorgu

    select * from sayfa as s
    left join kategori as k on s.kategori=k.ID

    yaparsan çıktısı şu şekilde olur

    ID | Baslik | sID | kategori | sBaslik