• 04-10-2008, 00:30:17
    #1
    <?php
    mysql_connect("localhost", "aaa", "xxx") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("wwww");
    $sorgu = "SELECT id, name, parent
    FROM Categories
    ORDER BY name ASC";
    $sorgulama = @mysql_query($sorgu);
    if (@mysql_num_rows($sorgulama)>0){
    while ($kayit=@mysql_fetch_array($sorgulama)){
    $name=$kayit["name"];
    $parent=$kayit["parent"];
    $id=$kayit["id"];
    echo "
    <a href=kategori.php?u=detay&id=$id> $name </a><br>";
    }
    }
        ?>
    bu şekilde gayet güzel bi şekilde A'dan Z'ye sıralama yapıyor. Ama ben biraz daha detaylı bir şey istiyorum. Benim istediğim A harfini sıralarken başında A yazması. B ye geçtiğin B yazması. Bulunmanayan haflerde ise uyarı vermesi. Şöyle bir şey denedim ama olmadı:
    $sorgu = "SELECT id, name, parent
              FROM Categories
              WHERE name = 'a'
              ORDER BY name DESC";
  • 04-10-2008, 00:35:59
    #2
    Mysql - Like Komutu
    $sorgu = "SELECT id, name, parent
              FROM Categories
              WHERE name LIKE 'A%'
              ORDER BY name DESC";
    Bu sorgu A harfi ile başlayanları sıralar.
    Umarım yararlı olur.
  • 04-10-2008, 00:42:09
    #3
    Uyarı için şöyle bir kod eklersem olur heralde

    $kontrolet = "SELECT id,name,parent
                      FROM Categories 
                      WHERE name LIKE 'A%';
        $sorgu=mysql_query($kontrolet);
        if(mysql_num_rows($sorgu)==0) {
        echo "<br><h5>suan bu harfte herhangi bir kayit yok..</h5>";
        }
    deniyip sonucumu yazıcam
  • 04-10-2008, 00:53:25
    #4
    <?php
    mysql_connect("localhost", "aaa", "xxx") or die("Could not connect: ".mysql_error());
    mysql_select_db("wwww"); 
    
    $alfabe = array('A','B','C','Ç','D','E','F','G','Ğ','H','I','İ','J','K','L','M','N','O','Ö','P','R','S','Ş','T','U','Ü','V','Y','Z');
    for($i=0; $i<count($alfabe); $i++){
    echo '<strong>'.$alfabe[$i].'</strong> Harfi ile ilgili içerik<br>';
    	$sonuc = mysql_query("SELECT id, name, parent FROM Categories where name regexp '^$alfabe[$i]'");
    	if(mysql_num_rows($sonuc) >0){
    		while($satir = mysql_fetch_assoc($sonuc)){
    			$name = $satir[name];
    			$id = $satir[id];
    			echo '<a href="kategori.php?u=detay&id='.$id.'">'.$name.'</a><br>';
    		}
    		echo '<br>';
    	}else{
    		echo $alfabe[$i].' harfi ile başlayan içerik bulunamadı<br><br>';
    	}
    }
    ?>
    Şöyle birşey istiyorsun sanırım.
  • 04-10-2008, 00:55:28
    #5
    Benim yukarıda yazdığım kod çalışmıyor..
    ErsaT çok teşekkür ederim büyük bir yardımın dokundu..