Pereiti prie turinio

PHP Mysql užklausa.


Rekomenduojami pranešimai

O ką tu nori padaryti? Išrūšiuoti pagal du stulpelius? Jei taip skirk juos kableliu.

 

Beto, viengubų kabučių nereikia naudoti skiriant stulpelių pavadinimus.

Viengubos kabutes nurodo, kad tai tektas. Kad nurodyt stulpelius, arba nieko nenaudoti, arba `stulpelis` (ne 'stulpelis')

Nuoroda į pranešimą
Dalintis kituose puslapiuose

dbquery("SELECT * FROM ".$db_prefix."users ORDER BY 'user_win'-'user_lose' DESC LIMIT 0,10");

 

dbquery("SELECT * FROM ".$db_prefix."users ORDER BY ('user_win'-'user_lose') DESC LIMIT 0,10");

arba

dbquery("SELECT *,('user_win'-'user_lose') AS skirtumas FROM ".$db_prefix."users ORDER BY skirtumas DESC LIMIT 0,10");

Nuoroda į pranešimą
Dalintis kituose puslapiuose

dbquery("SELECT * FROM ".$db_prefix."users ORDER BY ('user_win'-'user_lose') DESC LIMIT 0,10");

arba

dbquery("SELECT *,('user_win'-'user_lose') AS skirtumas FROM ".$db_prefix."users ORDER BY skirtumas DESC LIMIT 0,10");

Neveikia vistiek. O gali būti, kad čia PHPFusion problema?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Neveikia vistiek. O gali būti, kad čia PHPFusion problema?

Vienintelis dalykas, kuris dar ateina i galva:

SET sql_mode='NO_UNSIGNED_SUBTRACTION';

Jeigu neveikia, vadinasi dbquery() isdarko kas kaip koda, nes tai tvarkinga mysql uzklausa.

 

Edit: perziurejau, ka dbquery() funkcija daro phpfusion'e:

function dbquery($query) {
$result = @mysql_query($query);
if (!$result) {
 echo mysql_error();
 return false;
} else {
 return $result;
}
}

 

Kaip matai, tavo query nera lieciamas, kas reiskia, kad problema galetu buti tik paciame DB.

Redagavo Ispirit
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Vienintelis dalykas, kuris dar ateina i galva:

SET sql_mode='NO_UNSIGNED_SUBTRACTION';

Jeigu neveikia, vadinasi dbquery() isdarko kas kaip koda, nes tai tvarkinga mysql uzklausa.

 

Edit: perziurejau, ka dbquery() funkcija daro phpfusion'e:

function dbquery($query) {
$result = @mysql_query($query);
if (!$result) {
 echo mysql_error();
 return false;
} else {
 return $result;
}
}

 

Kaip matai, tavo query nera lieciamas, kas reiskia, kad problema galetu buti tik paciame DB.

 

SET sql_mode='NO_UNSIGNED_SUBTRACTION';

Kur šitą įvesti? Ten kur duomenys PMA SQL lauke? Jeigu taip, tai nieko nekeičia.

Dar ką galiu pabrėžti, kad man gražina vartotojus, kurių tas skirtumas gaunasi neigiamas, tai darant per PMA SQL gražina tapatį ką ir per PHP.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gerai, o tada kaip sukurti laukelį, kuriame būtų kitų dviejų laukelių skirtumas ir jis nuolatos priklausytų nuo jų. Tarkim pakinta vienas, tada automatiškai pakinta ir skirtumo laukelis. Ar taip neįmanoma be PHP įsikišimo?

Viskas priklauso nuo to, kokia prieiga prie DB turi, bet uztektu sukurti paprasta trigeri on update (http://dev.mysql.com/doc/refman/5.6/en/trigger-syntax.html)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...