• 27-03-2010, 23:33:11
    #1
    mysql de bir tablom var "ipler" adında
    ve bunun içerisindede ip" sütünu mevcut

    ip
    108.0.72.235
    108.1.48.192
    18.1.50.83
    88.13.12.200
    88.2.186.135
    98.2.25.108
    18.2.7.239
    108.0.72.235
    108.1.48.192
    78.1.50.83
    88.13.12.200
    88.2.186.135
    91.2.25.108
    85.2.7.239

    diye gidiyor 10bine yakın veri bulunmakta şimdi benim yapmak istediğim şey bu iplerin ilk noktasından öncesini alarak saydırıp bütükten küçüğe dogru sıralamak.. mesela 88 le başlayan 20 ip var 85 le başlayan 15 ip var
    78 le başlayan 5 ip var ise bunu

    88 20 ip mevcut
    85 15
    78 5

    şeklinde yazdırmak bunu nasıl yapabilirim?
  • 27-03-2010, 23:59:37
    #2
    Üyeliği durduruldu
    Select * from x where ip like '$sira%' num_rows yapaxaksin AMA bunu for dongusuyle 0 Dan 300 e kadar dondurcen.
  • 28-03-2010, 00:23:04
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bu PHP den ziyade SQL sorusu aslında :
    <?php
    $sorgu = 'select count(substring_index(ip,".",1)) as toplam,
    substring_index(ip,".",1) as ip 
    from ipler group by ip';
    
    $sorgula = mysql_query($sorgu);
    while($sonuc = mysql_fetch_assoc($sorgula)) echo $sonuc['ip'].' ile başlayan '.$sonuc['toplam'].' adres var <br />';
    
    ?>
  • 28-03-2010, 00:51:09
    #4
    Webscripti adlı üyeden alıntı: mesajı görüntüle
    Select * from x where ip like '$sira%' num_rows yapaxaksin AMA bunu for dongusuyle 0 Dan 300 e kadar dondurcen.
    döngü ile yapınca coktan aza dogru sıralamıyor işte 1 den baslayıp 255 e kadar sırayla veriyor 1. de 10 adet var 88. de 20 adet şeklinde

    metadige adlı üyeden alıntı: mesajı görüntüle
    Bu PHP den ziyade SQL sorusu aslında :
    <?php
    $sorgu = 'select count(substring_index(ip,'.',1)) as toplam,
    substring_index(ip,'.',1) as ip 
    from ipler group by ip';
    
    $sorgula = mysql_query($sorgu);
    while($sonuc = mysql_fetch_assoc($sorgula)) echo $sonuc['ip'].' ile başlayan '.$sonuc['toplam'].' adres var <br />';
    
    ?>
    mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
    hatası aldım sizinkinde de
  • 28-03-2010, 00:54:32
    #5
    while($sonuc = mysql_fetch_assoc($sorgula)) { echo $sonuc['ip'].' ile başlayan '.$sonuc['toplam'].' adres var <br />';}



    bununla degişirmisin
  • 28-03-2010, 00:59:17
    #6
    Erturk adlı üyeden alıntı: mesajı görüntüle
    while($sonuc = mysql_fetch_assoc($sorgula)) { echo $sonuc['ip'].' ile başlayan '.$sonuc['toplam'].' adres var <br />';}
    bununla degişirmisin
    aynı hata
  • 28-03-2010, 01:01:56
    #7
    Arkadaşım yazarken tırnak hatası yapmışım, düzelttim mesajda.
  • 28-03-2010, 01:04:00
    #8
    GuMgUmOk adlı üyeden alıntı: mesajı görüntüle
    aynı hata
    <kd>Siteyi acaip yapmışsın. Ellerine saglık Referanslara girmeyi haketti </kd>
  • 28-03-2010, 01:15:11
    #9
    Erturk adlı üyeden alıntı: mesajı görüntüle
    while($sonuc = mysql_fetch_assoc($sorgula)) { echo $sonuc['ip'].' ile başlayan '.$sonuc['toplam'].' adres var <br />';}
    bununla degişirmisin
    metadige adlı üyeden alıntı: mesajı görüntüle
    Arkadaşım yazarken tırnak hatası yapmışım, düzelttim mesajda.
    tamam hocam şimdi çalıştı ama ekrana sole basıyor

    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 ile başlayan 1 adres var
    108 le başlayan 31 adet adres var tabloda 31 tane alt alta bu şekilde yazıyor

    sonra 109a geçiyor 109 ları yazıyor 152 tane alt alta

    en çok 88 li 5000 küsür tane hepsini alt alta yazıyor; 88 li için
    "88 ile başlayan 1 adres var " 5000 adet alt alta