Topic: žklausa
čia dvi užklausos:
$info = mysql_fetch_row(mysql_query("SELECT kazkas FROM lentele WHERE cia = '+'"));
$info2 = mysql_fetch_row(mysql_query("SELECT kazkas FROM lentele WHERE cia = '-'"));
Ar įmanoma tai atlikti su viena užklausa?
PHP ir MySQL programavimas, SQL užklausos, duomenų bazės, PHP scriptai, pagalba, diskusijos, pamokos ir straipsniai.
You are not logged in. Please login or register.
PHP ir MySQL → PHP → žklausa
čia dvi užklausos:
$info = mysql_fetch_row(mysql_query("SELECT kazkas FROM lentele WHERE cia = '+'"));
$info2 = mysql_fetch_row(mysql_query("SELECT kazkas FROM lentele WHERE cia = '-'"));
Ar įmanoma tai atlikti su viena užklausa?
Bet reikia, kad ištrauktų reikšmes su + ir -, dabar ištraukia + arba -
Tarkim ištraukia COUNT(kazkas) WHERE + ir COUNT(kazkas) WHERE -
Tu pirmam post'e pateikei dvi atskiras sužklausas, kurias vykdant gauni ir tuos ir tuos rezultatus. Tau pateikiau kaip tai atliekama su viena užklausa ;)
Pas tave nebus nei vieno įrašo, kurio stulpelio "cia" reikšmė tuo pačiu metu būtų lygi ir "-" ir "+" ;)
Jeigu pas tave visai kitokia struktūra ir poreikiai tai galėtum apie tai bent minimaliai užsiminti ;)
:)
net nežinau kaip normaliai paaiškint..
nu tarkim su tom dviem užklauom galiu atspausdinti tokius duomenis:
echo "$info[0]":
ir
echo "$info2[0]";
$info[0] ir $info2[0] skirtingi duomenys..
Na tai mano pateiktame pavyzdyje gausi dvi eilutes, kurias pasiemęs su mysql funkcijom irgi galesi atspausdinti kaip nori.
$info = mysql_fetch_row(mysql_query("SELECT kazkas FROM lentele WHERE cia = '+' OR cia = '-'"));
tai kaip aš atspausdinsiu reiksme su + ir su -...:?
Tai niekas gi netrukdo pasiimti ir "cia" stulpelį:
SELECT kazkas, cia
FROM lentele
WHERE cia = "+"
OR cia = "-"
Tikiuosi, kad bent pats supranti ką nori padaryti, nes labai viskas keista ir neaišku čia pas tave.
Išsamiai viską paaiškinsiu: :)
Lentelėje 'lentele' saugomos privačios žinutės (PM).
+ - neskaitytos
- - skaitytos
reikia padaryti, kad parodytų kiek yra skaitytų ir kiek neskaitytų. Dariau taip:
$info = mysql_fetch_row(mysql_query("SELECT COUNT(pm) FROM lentele WHERE cia = '+'"));
$info2 = mysql_fetch_row(mysql_query("SELECT COUNT(pm) FROM lentele WHERE cia = '-'"));
echo "Skaitytos: $info[0]";
echo "Neskaitytos: $info2[0]";
Bet norėčiau viską padaryti su viena užklausa...
Tai viskas skiriasi nuo to, apie ką kalbėjai anksčiau. Daryti galima kažkaip taip:
SELECT cia, COUNT(*) AS kiek
FROM lentele
GROUP BY cia
Gausi dvi eilutes, su norimais rezultatais ;)
Norint, kad abi sumos būtų vienoje rezltatų eilutėje reikia naudoti sub-select'us.
PHP ir MySQL → PHP → žklausa
Powered by PunBB, supported by Informer Technologies, Inc.