Salam. Bazadakı məlumatları php səhifədə sıraladıqda bir problem yaranır.
Misal üçün 9 65-dən yuxarıda görsənir. Yəni 9 (və ya 8,7,6 və s.) xal yığan şəxsin adı 20 (və ya 60, 75, 45, 30 və s.) xal yığan şəxsin adından qabaqda görsənir. Necə etməliyəm ki, 75, 60, 45, 30, 20, 9 sırasıyla düzülsün?
http://azfont.tk/xallar/xallar.php
$result = mysql_query("SELECT Ad, Tarix, Xal FROM xallar ORDER by Xal DESC");






Verilmiş cavablar və yazılan şərhlər (4 cavab var)
1
Salam. Siz Xal sütununu Varchar etmisiniz yəqin ki, ona görə MySQL onu string kimi sıralayır və bu zaman 9 çevrilir olur 90. Siz sadəcə phpmyadmindən Xal-ın tipini İNT edin vəssalam
0
Təşəkkürlər.
Bəs, myadmində göndərilən adlara say qadağası qoymaq olarmı ?
Yəni yaddaşda istədiyimiz sayda nəticəni saxlasın və yeni ad və xal göndərildikdə əgər xal oradakı xallardan yüksəkdirsə yaddaşa yazsın, yüksək deyilsə yazmasın.
0
Yox, o artıq phpmyadminin işi deyil, onu php-də yazılan sadə kod parçası ilə həll etmək olar.
məsələn mysql_insert-i təxminən belə bir şərt blokunun daxilində yazmaq olar:
$cari_xal=15; //istifadecinin topladigi xal $limit=100; //mesel ucun 100 neferden sonra artiq yoxlasin xallari $umumisay=mysql_num_rows(mysql_query("select * from xallar")); $maximum_xal=mysql_result(mysql_query("select Xal from xallar order by Xal desc limit 1"),0); if ($umumisay<$limit and $cari_xal>$maximum_xal) { mysql_query(".....");//query-ni deqiq yazin bura }0
Mən proqramlaşdırma bilmədiyim üçün bu kodu php sənədə necə uyğunlaşdıracağımı bilmirəm.
Nəyisə düz etmirəm. Başağrısı deyilsə, bunu aşağıdakı koda uyğunlaşdırardınız.
gonder.php
<?php //Capture data from $_POST array $ad = $_POST['Ad']; $tarix = $_POST['Tarix']; $xal = $_POST['Xal']; //Connection to database $connect = mysql_connect("DB_HOST", "DB_AD", "DB_KOD"); mysql_select_db ("DB_TB", $connect); //Perform the query $result = mysql_query("INSERT into xallar (Ad, Tarix, Xal) values ('$ad', '$tarix', '$xal')"); if($result) echo "writing=Ok"; else echo "writing=Error"; ?>Sual verin
Cavab verin