• 08-03-2014, 19:41:00
    #1
    Php kullanmam ama bu sefer lazım olduğu için mysql database deki verileri sıralamam lazım. Mysql tablomda 3 sütün var biri player diğeri puan diğeride Ranking. Normalde aşşağıdaki query i sql da çalıştırınca oluyor ama ben bunu php de çalıştırmayı deniyorum. Bunu çalıştırınca olmuyor. Mysql bağlantılarını ... yaptım ama onların doğru olduğundan eminim hatta emin olmak için INSERT denedim oldu.
    <?php
     $con=mysqli_connect("localhost","....","....","....");
     // Check connection
     if (mysqli_connect_errno())
       {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
       }
    mysqli_query($con,"SET @r=0;UPDATE players SET Ranking= @r:= (@r+1) ORDER BY puan DESC");
    mysqli_close($con);
     ?>
  • 08-03-2014, 20:09:21
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @gokalpfirat; mysqli_query'nin bulunduğu satırın hemen altına şu betiği yerleştirip çıktısını konuya ekleyebilir misiniz?
    print_r(array(mysqli_errno($con), mysql_error($con)));
  • 08-03-2014, 20:14:46
    #3
    procedure olusturup onu sql sorgusu içinde php ile calıstırabilirsiniz.

    procedurenin olusturulması
    CREATE DEFINER=`root`@`localhost` PROCEDURE `players_update`()
    BEGIN
    SET @r=0;UPDATE players SET Ranking= @r:= (@r+1) ORDER BY puan DESC;
    END

    php içinde kullanımı
    call players_update()

    seklinde sql sorgusuna yazılır
  • 08-03-2014, 20:20:43
    #4
    saintx adlı üyeden alıntı: mesajı görüntüle
    @gokalpfirat; mysqli_query'nin bulunduğu satırın hemen altına şu betiği yerleştirip çıktısını konuya ekleyebilir misiniz?
    print_r(array(mysqli_errno($con), mysql_error($con)));
    Alıntı
    Array ( [0] => 1064 [1] => )
    dogruweb adlı üyeden alıntı: mesajı görüntüle
    procedure olusturup onu sql sorgusu içinde php ile calıstırabilirsiniz.

    procedurenin olusturulması
    CREATE DEFINER=`root`@`localhost` PROCEDURE `players_update`()
    BEGIN
    SET @r=0;UPDATE players SET Ranking= @r:= (@r+1) ORDER BY puan DESC;
    END

    php içinde kullanımı
    call players_update()

    seklinde sql sorgusuna yazılır
    Hocam bana direk kodu yazarsanız zaten kısa kod dediklerinizden pek bir şey anlamadım çünkü php yi işim düştü diye kullanıyorum
  • 09-03-2014, 13:02:15
    #5
    @gokalpfirat;, @dogruweb;'in yazdığı mesajı uygulamayı denediniz mi?
  • 09-03-2014, 13:10:48
    #6
    saintx adlı üyeden alıntı: mesajı görüntüle
    @gokalpfirat;, @dogruweb;'in yazdığı mesajı uygulamayı denediniz mi?
    CREATE DEFINER=`root`@`localhost` PROCEDURE `players_update`()
    BEGIN
    SET @r=0 ;UPDATE players SET Ranking= @r:= (@r+1) ORDER BY puan DESC;
    END
    Bunu mysql da çalıştırmayı deniyince verdiği hata şu
    #1064 - 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 '' at line 3
  • 09-03-2014, 14:44:11
    #7
    @gokalpfirat; MySQL sürümünüz nedir? Bu araç ile sorguyu test ettiğimde herhangi bir problem gözükmüyor?
  • 09-03-2014, 17:12:31
    #8
    Sunucu türü: MySQL
    Sunucu sürümü: 5.5.36-cll - MySQL Community Server (GPL)
    Protokol sürümü: 10

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 17:12:31 -->-> Daha önceki mesaj 15:16:22 --

    @saintx Peki hocam böyle olmuyucak sorumu şöyle değiştiriyorum. Ben mysql daki tablomdaki kişilerin puanlarını sıralayıp sonra mysql sıralarını kaydetmek istiyorum. Bunun için nasıl bir kod kullanmalıyım?
  • 09-03-2014, 18:17:14
    #9
    <?php
     $con=mysqli_connect("localhost","....","....","....");
     // Check connection
     if (mysqli_connect_errno())
       {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
       }
    mysqli_query($con,"SET @r=0;");
    mysqli_query($con,"UPDATE players SET Ranking= @r:= (@r+1) ORDER BY puan DESC");
    mysqli_close($con);
     ?>
    şeklinde deneyebilir misin bi ?