• 14-06-2008, 10:46:18
    #10
    taylanaktepe adlı üyeden alıntı: mesajı görüntüle
    bu iki ayrı sorgu olmuyormu?
    neresi iki ayrı sorgu bunun
  • 14-06-2008, 20:40:19
    #11
    Eposta Aktivasyonu Gerekmekte
    kafilem adlı üyeden alıntı: mesajı görüntüle
    $sorgu = mysql_query("
    (SELECT *FROM wp_users WHERE display_name = 'istanbul' ORDER BY ID LIMIT 3 
    ) UNION ALL ( SELECT * FROM wp_users WHERE display_name = 'izmir' ORDER BY id DESC LIMIT 3 ) ORDER BY ID DESC LIMIT 0 , 6");
    şimdi bu kod wpde çalışıyor tablo ismi ve alan isimlerini değiştirisiniz. kolay gele
    Şöyle açıklayayım; öncelikle arkadaş tek bir tabloyu tek bir sorgu cümlesi ile sınayıp, sonucu istanbul ve izmir olarak listelemek istemiş. Dikkat edersen yukarıdaki sorgu cümlesinde iki ayrı sorgu cümlesi bulunmakta!
    SELECT *FROM wp_users WHERE display_name = 'istanbul' ORDER BY ID LIMIT 3
    SELECT * FROM wp_users WHERE display_name = 'izmir' ORDER BY id DESC LIMIT 3
    ================================================== ====
    1.sorgu : select * from where isim = 'istanbul' order by id ASC limit 0,3
    2.sorgu : select * from where isim = 'izmir' orderby id ASC limit 0,3
    ================================================== ====

    UNION ALL komutu ne iş yapar?
    Bu komut iki ayrı tablodan aynı sütunlar sorgulamaya yarar. Yani aynı sütunlara sahip iki ayrı tablodan verileri almaya yarar. JOIN komutuna benzer.

    select isimler from istanbul order by id ASC limit 0,3
    UNION ALL
    select isimler from izmir orderby id ASC limit 0,3

    gibi olabilir. Dolayısıyla verilen sorgunun çalışacağından şüpheliyim!
  • 14-06-2008, 21:34:16
    #12
    verdiğim sorgu çalışıyor arkadaşın dediği gibi ayrı ayrı sorgu değil tek sorguda iki select kullanımı var çalışan örnek
    http://kafilem.net46.net/a.php
    kodun tamamı
      <?php
    $host="XXX";
    $kullanici="XXX";
    $sifre="XXX";
    $veritabani = "XXX";
    $mysqlbaglantisi = mysql_connect($host, $kullanici, $sifre);
    if(!$mysqlbaglantisi) die("MySQL’e bağlanılamıyor");
    mysql_select_db($veritabani, $mysqlbaglantisi) or die ("Veritabanına bağlanılamıyor");
    echo "veri tabanına bağlandı<BR>";
    $sorgu = mysql_query("
    (
    SELECT *
    FROM wp_users
    WHERE display_name = 'istanbul'
    ORDER BY ID
    LIMIT 3
    )
    UNION ALL (
    SELECT *
    FROM wp_users
    WHERE display_name = 'izmir'
    ORDER BY id DESC
    LIMIT 3
    )
    ORDER BY ID DESC
    LIMIT 0 , 6");    
       while ($dondur = mysql_fetch_array($sorgu) )
    {
    echo $dondur[ 'display_name' ]." ";
    echo $dondur[ 'ID' ]." <br>";
              }     
    mysql_close($mysqlbaglantisi);
        ?>
    @redbaron istediği şekilde oldu gibi geldi bana ama kesin cevabı olup olmadığını denediyse eğer @redbaron verir
  • 15-06-2008, 00:53:10
    #13
    Eposta Aktivasyonu Gerekmekte
    bilgi oldu, daha önce ratlamamıştım, teşekkürler!
  • 15-06-2008, 03:02:06
    #14
    <?
    $sor=mysql_query("select distinct isim,id from tablo order by id asc limit 6");
    while($bas=mysql_fetch_array($sor))
    {
    echo "id : ".$bas['id']." , isim: ".$bas['isim']." <br>";
    }
    ?>
    bunu deneyebilir misin dostum?