• 22-04-2009, 15:05:58
    #1
    merhaba arkadaşlar.ajax ile kullandığım php dosyasına
    echo "bulunan 10 sonuç"; komutunu ekliyorum. komutu dosyanın en başına eklediğimde sonuç bulunmasa bile komut çalışıyor. alta eklediğimde veritabanındaki 10 veri ile birlikte sıralıyor. ben veri bulunduğunda sadece 1 defa çalışmasını istiyorum. veri bulunmadığında komutun çıkmamasını istiyorum bunu nasıl yapabilirim?

    php kodlarım bu şekilde.

    <?
    include"inc/bag.inc.php";
    mysql_query("SET NAMES 'latin5'"); 
    mysql_query("SET CHARACTER SET 'latin5_turkish_ci'"); 
    mysql_query("COLLATE 'latin5_turkish_ci'");
    
    
    $kelime = mysql_real_escape_string($_POST['queryString']);
    $kelime2 = mysql_real_escape_string($_POST['queryString']);
    $sql = "select * FROM odev WHERE konu LIKE '$kelime%' LIMIT 10";
    if(strlen($kelime) >0) {
    $query=mysql_query($sql);
    while ($yazdir=mysql_fetch_array($query)) {
    $konu = iconv("ISO-8859-9", "UTF-8", $yazdir[konu]);
    
    $id = $yazdir[id];					
    $bul = array("A","B","C","Ç","D","E","F","G","Ğ","H","I","İ","J","K","L","M","N","O","Ö","P","R","S","Ş","T","U","Ü","V","Y","Z","X","Q","W");
    $degistir = array("a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z","x","q","w");
    $konu2 = str_replace($bul,$degistir,$konu);
    $uc = ucfirst($konu2);
    $bull = array("É",":",") ",".","(",")","( "," )","  ","’",";"," - "," , ",",",",-",":","/","?","'","ç","’","I","ı","ö","ü","ç","ğ","ş"," ","A","B","C","Ç","D","E","F","G","Ğ","H","I","İ","J","K","L","M","N","O","Ö","P","R","S","Ş","T","U","Ü","V","Y","Z","X","Q","W");
    $degistirr = array("e","","-","","","","",""," ","",""," ","-","","","","","","","c","","i","i","o","u","c","g","s","-","a","b","c","c","d","e","f","g","g","h","ı","i","j","k","l","m","n","o","o","p","r","s","s","t","u","u","v","y","z","x","q","w");
    $k1 = str_replace($bull,$degistirr,$uc); 
    $b = array("É");
    $d = array("e");
    $uc = str_replace($b,$d,$uc);
    
    echo '<img border="0" src="images/arrow.png" width="11" height="11"> <font face="Verdana" size="2"><a href="odev-'.$id.'-'.$k1.'.html">'.$uc.'</a></font></img><br>';
    }
    }
    ?>
    yardım ederseniz sevinirim.
  • 22-04-2009, 15:08:30
    #2
    Üyeliği durduruldu
    şahsen tam olarak ne yapmak istediginizi anlamadim. takıldığınız yeri biraz daha açıklayabilir misiniz?
  • 22-04-2009, 15:11:24
    #3
    bulunan sonuçların üstüne "bulunan 10 sonuç" yazmak istiyorum ama 10 defa tekrarlıyor bunu. sql e bağlanmadan önce yazıyorum bunu o zamanda veritabanında bulunmasa bile "bulunan 10 sonuç" yazısı çıkıyor. ben sadece sql e aranılanı bulduğunda "bulunan 10 sonuç" yazısının çıkmasını istiyorum.
  • 22-04-2009, 15:17:45
    #4
    mysql_num_rows la satır sayısını alıp 0 dan büyükse yazdır diyip while dan önce yazabilirsin.Bulunmuyorsada else ile bulunamadı diye basarsın
  • 22-04-2009, 15:19:21
    #5
    Üyeliği durduruldu
    tam bu iki komutun arasina girmeniz gerekiyor
    $query=mysql_query($sql);
    //tam buraya
    while ($yazdir=mysql_fetch_array($query)) {
  • 22-04-2009, 15:20:27
    #6
    <?
    include "inc/bag.inc.php";
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET 'latin5_turkish_ci'");
    mysql_query("COLLATE 'latin5_turkish_ci'");
    
    $kelime = mysql_real_escape_string($_POST['queryString']);
    $kelime2 = mysql_real_escape_string($_POST['queryString']);
    $sql = "select * FROM odev WHERE konu LIKE '$kelime%' LIMIT 10";
    if (strlen($kelime) > 0)
    {	
        $query = mysql_query($sql);
    	$bsonuc = mysql_num_rows($sql);
    	if($bsonuc >= 1) {
    	echo "Bulunan Sonuc : ".$bsonuc."<br />";
        while ($yazdir = mysql_fetch_array($query))
        {
            $konu = iconv("ISO-8859-9", "UTF-8", $yazdir[konu]);
            $id = $yazdir[id];
            $bul = array("A", "B", "C", "Ç", "D", "E", "F", "G", "Ğ", "H", "I", "İ", "J",
                "K", "L", "M", "N", "O", "Ö", "P", "R", "S", "Ş", "T", "U", "Ü", "V", "Y", "Z",
                "X", "Q", "W");
            $degistir = array("a", "b", "c", "ç", "d", "e", "f", "g", "ğ", "h", "ı", "i",
                "j", "k", "l", "m", "n", "o", "ö", "p", "r", "s", "ş", "t", "u", "ü", "v", "y",
                "z", "x", "q", "w");
            $konu2 = str_replace($bul, $degistir, $konu);
            $uc = ucfirst($konu2);
            $bull = array("É", ":", ") ", ".", "(", ")", "( ", " )", "  ", "’", ";", " - ",
                " , ", ",", ",-", ":", "/", "?", "'", "ç", "’", "I", "ı", "ö", "ü", "ç", "ğ",
                "ş", " ", "A", "B", "C", "Ç", "D", "E", "F", "G", "Ğ", "H", "I", "İ", "J", "K",
                "L", "M", "N", "O", "Ö", "P", "R", "S", "Ş", "T", "U", "Ü", "V", "Y", "Z", "X",
                "Q", "W");
            $degistirr = array("e", "", "-", "", "", "", "", "", " ", "", "", " ", "-", "",
                "", "", "", "", "", "c", "", "i", "i", "o", "u", "c", "g", "s", "-", "a", "b",
                "c", "c", "d", "e", "f", "g", "g", "h", "ı", "i", "j", "k", "l", "m", "n", "o",
                "o", "p", "r", "s", "s", "t", "u", "u", "v", "y", "z", "x", "q", "w");
            $k1 = str_replace($bull, $degistirr, $uc);
            $b = array("É");
            $d = array("e");
            $uc = str_replace($b, $d, $uc);
            echo '<img border="0" src="https://www.r10.net/images/arrow.png" width="11" height="11"> <font face="Verdana" size="2"><a href="odev-' .
                $id . '-' . $k1 . '.html">' . $uc . '</a></font></img><br>';
        }
        }
        else {
    		echo "Sonuc bulunamadi<br />";
    	}
    }
    ?>
  • 22-04-2009, 15:28:28
    #7
    bu şekil denedim ama yine çıktı. ajax ile kullanıyorum dosyayı.

    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    tam bu iki komutun arasina girmeniz gerekiyor
    $query=mysql_query($sql);
    //tam buraya
    while ($yazdir=mysql_fetch_array($query)) {
  • 22-04-2009, 15:29:41
    #8
    arkadaşlar çok sağolun yardımlarınız için.

    LaCReMeL arkadaşın verdiğini kodlarda mysql_num_rows() supplied argument is not valid Mysql result resource hatası alıyorum nedeni ne olabilir ?

    LaCReMeL adlı üyeden alıntı: mesajı görüntüle
    <?
    include "inc/bag.inc.php";
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET 'latin5_turkish_ci'");
    mysql_query("COLLATE 'latin5_turkish_ci'");
    $kelime = mysql_real_escape_string($_POST['queryString']);
    $kelime2 = mysql_real_escape_string($_POST['queryString']);
    $sql = "select * FROM odev WHERE konu LIKE '$kelime%' LIMIT 10";
    if (strlen($kelime) > 0)
    {	
        $query = mysql_query($sql);
    	$bsonuc = mysql_num_rows($sql);
    	if($bsonuc >= 1) {
    	echo "Bulunan Sonuc : ".$bsonuc."<br />";
        while ($yazdir = mysql_fetch_array($query))
        {
            $konu = iconv("ISO-8859-9", "UTF-8", $yazdir[konu]);
            $id = $yazdir[id];
            $bul = array("A", "B", "C", "Ç", "D", "E", "F", "G", "Ğ", "H", "I", "İ", "J",
                "K", "L", "M", "N", "O", "Ö", "P", "R", "S", "Ş", "T", "U", "Ü", "V", "Y", "Z",
                "X", "Q", "W");
            $degistir = array("a", "b", "c", "ç", "d", "e", "f", "g", "ğ", "h", "ı", "i",
                "j", "k", "l", "m", "n", "o", "ö", "p", "r", "s", "ş", "t", "u", "ü", "v", "y",
                "z", "x", "q", "w");
            $konu2 = str_replace($bul, $degistir, $konu);
            $uc = ucfirst($konu2);
            $bull = array("É", ":", ") ", ".", "(", ")", "( ", " )", "  ", "’", ";", " - ",
                " , ", ",", ",-", ":", "/", "?", "'", "ç", "’", "I", "ı", "ö", "ü", "ç", "ğ",
                "ş", " ", "A", "B", "C", "Ç", "D", "E", "F", "G", "Ğ", "H", "I", "İ", "J", "K",
                "L", "M", "N", "O", "Ö", "P", "R", "S", "Ş", "T", "U", "Ü", "V", "Y", "Z", "X",
                "Q", "W");
            $degistirr = array("e", "", "-", "", "", "", "", "", " ", "", "", " ", "-", "",
                "", "", "", "", "", "c", "", "i", "i", "o", "u", "c", "g", "s", "-", "a", "b",
                "c", "c", "d", "e", "f", "g", "g", "h", "ı", "i", "j", "k", "l", "m", "n", "o",
                "o", "p", "r", "s", "s", "t", "u", "u", "v", "y", "z", "x", "q", "w");
            $k1 = str_replace($bull, $degistirr, $uc);
            $b = array("É");
            $d = array("e");
            $uc = str_replace($b, $d, $uc);
            echo '<img border="0" src="https://www.r10.net/images/arrow.png" width="11" height="11"> <font face="Verdana" size="2"><a href="odev-' .
                $id . '-' . $k1 . '.html">' . $uc . '</a></font></img><br>';
        }
        }
        else {
    		echo "Sonuc bulunamadi<br />";
    	}
    }
    ?>
  • 22-04-2009, 15:51:57
    #9
    mysql_num_rows($query); yaparsan düzelecektir