Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Order BY sudėtą kintamąjį
Parašė Narysx· 2009 Lap. 1 20:11:30
#1
Tarkim turiu tokius kodus:
deleted
čia vartotojo profilyje rodo kiek įdėta straipsnių, modų ir pan...
Ir kaip man dabar sukurti panelę, kurioje rikiuotų narius pagal $modai + $skriptai + $dizai + $straipsniai? :?
Redagavo Narysx· 2009 Lap. 6 21:11:09
Parašė Narysx· 2009 Lap. 2 18:11:11
#2
Niekas neturit jokių idėjų..? :?
Parašė MAnjack· 2009 Lap. 2 19:11:16
#3
Su dbcount() visus suskaičiuok atsikai, o paskui sudėk ;)
Parašė Narysx· 2009 Lap. 2 19:11:48
#4
Gal galima pavizdį?
P.S. Aš pats manau, kad čia reik su left join padaryt, bet tai yra mano silpnoji vieta. ;D
Parašė MAnjack· 2009 Lap. 3 15:11:45
#5
Va tau pavyzdys: Čia skaičiuoja kiek yra naujus pm fusione:
$msg_count = dbcount("(message_id)", "messages", "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
Parašė bruzgis· 2009 Lap. 3 16:11:29
#6
tuoj parasysiu
$i=0;
$SQL = "SELECT ((SELECT COUNT(download_url) FROM ".DB_PREFIX."downloads WHERE download_license = u.user_id) + (SELECT COUNT(error_summary) FROM ".DB_PREFIX."error_reports WHERE error_user = u.user_id) + (SELECT COUNT(article_subject) FROM ".DB_PREFIX."articles WHERE article_name = u.user_id)) AS kiekis, user_id, user_name FROM ".DB_PREFIX."users u ORDER BY kiekis DESC";
opentable('Portalo aktyviausi nariai');
while($data=dbarray(dbquery($SQL))) {
$i++;
echo "<b>$i</b>. <a href='".BASEDIR."profile.php?lookup=".$data['user_id']."' title='Vartotojo ".$data['user_name']." profilis'>".$data['user_name']." (".$data['kiekis'].")</a><br>";
}
if($i=0) echo "<center>Portale aktyvių narių nėra.</center>";
closetable();
Bandyk.
Redagavo bruzgis· 2009 Lap. 3 16:11:59
Parašė bruzgis· 2009 Lap. 3 16:11:59
#7
MAnjack parašė:
Su dbcount() visus suskaičiuok atsikai, o paskui sudėk ;)
Idomu kaip tu paskui rikiuosi ir deliosi narius :D
Parašė Narysx· 2009 Lap. 3 16:11:29
#8
chipass parašė:
tuoj parasysiu
$i=0;
$SQL = "SELECT ((SELECT COUNT(download_url) FROM ".DB_PREFIX."downloads WHERE download_license = u.user_id) + (SELECT COUNT(error_summary) FROM ".DB_PREFIX."error_reports WHERE error_user = u.user_id) + (SELECT COUNT(article_subject) FROM ".DB_PREFIX."articles WHERE article_name = u.user_id)) AS kiekis, user_id, user_name FROM ".DB_PREFIX."users u ORDER BY kiekis DESC";
opentable('Portalo aktyviausi nariai');
while($data=dbarray(dbquery($SQL))) {
$i++;
echo "<b>$i</b>. <a href='".BASEDIR."profile.php?lookup=".$data['user_id']."' title='Vartotojo ".$data['user_name']." profilis'>".$data['user_name']." (".$data['kiekis'].")</a><br>";
}
if($i=0) echo "<center>Portale aktyvių narių nėra.</center>";
closetable();
Bandyk.
Kažkas ne taip. Kolkas pas mane web'e yra tik vienas Narys, kuris įdėjo ką nors, ir man kai spaudžiu peržiūrėti panelę išmeta apie 140000 jo nikų. ;D Ir skliausteliuose rodo neteisingą aktyvumą.
Parašė Narysx· 2009 Lap. 3 19:11:52
#9
UP (Kelti neduoda).
Parašė MAnjack· 2009 Lap. 3 22:11:02
#10
chipass parašė:
Idomu kaip tu paskui rikiuosi ir deliosi narius :D
Kaip visada iki galo neperskaičiau :D Galvojau jam tik sudėti reikia :D
Parašė Narysx· 2009 Lap. 4 18:11:54
#11
;D tai taip ir pats būčiau pasidaręs. :) Vis dar laukiu pagalbos.
Parašė ozzWANTED· 2009 Lap. 4 18:11:50
#12
Prašom:
WITH LENTELE_PAGAL_KIEKIUS AS
( SELECT
tu.user_id AS id, tu.user_name AS vardas,
COUNT(d.download_url) AS siuntiniu, COUNT(ers.error_summary) AS klaidu, COUNT (a.article_subject) AS straipsniu
FROM ".DB_USERS." tu
LEFT JOIN ".DB_DOWNLOADS." d ON tu.user_id=d.download_license AND download_cat IN(1,2)
LEFT JOIN ".DB_ARTICLES." a ON tu.user_id=a.article_name
LEFT JOIN ".DB_PREFIX."error_reports ers ON tu.user_id=ers.error_user
GROUP BY tu.user_id
ORDER BY user_id)
SELECT id, vardas, (siuntiniu+klaidu+straipsniu) AS viso_kiekio
FROM LENTELE_PAGAL_KIEKIUS
ORDER BY viso_kiekio DESC, id
Redagavo ozzWANTED· 2009 Lap. 4 21:11:33
Parašė Narysx· 2009 Lap. 4 19:11:14
#13
Dėkui, dėkui, tik gal galima pilnai padarytą kodą?
Parašė bruzgis· 2009 Lap. 4 20:11:52
#14
maniske sql uzklausa pilnai veikia. pme viskas tvarkoj isrikiuoja. tik ciklas kokio velnio sumala suda tai nzn
pilna koda gali pasidaryt pagal mano pateikta varianta
Parašė ozzWANTED· 2009 Lap. 4 20:11:29
#15
Narysx parašė:
Dėkui, dėkui, tik gal galima pilnai padarytą kodą?
nemoki visko į
$query = dbquery(QUERY);
while($data = dbarray($query)) {
<... DO SMTH ...>
}
sudėt???
Redagavo ozzWANTED· 2009 Lap. 4 21:11:23
Parašė bruzgis· 2009 Lap. 4 20:11:20
#16
<... DO SMTH ...>
Sita vieta jam taip neaskiai nuskambejo :D dar ir posta savo redaguotk, query ir quotery biski skirias :D
Parašė Narysx· 2009 Lap. 4 20:11:57
#17
Viskas čia man aiškiai nuskambėjo, sukišau viską kur reikėjo, bet error'us meta...
Parašė ozzWANTED· 2009 Lap. 4 20:11:55
#18
Nu tai postink kas per errorai, aš gi čia online help'ą varau, o mano compileris - mano galva. Ji syntax errorų nemėto gi :D.
Parašė Narysx· 2009 Lap. 4 21:11:15
#19
:D
Darau taip:
openside("name");
$query = dbquery("WITH LENTELE_PAGAL_KIEKIUS AS
( SELECT
tu.user_id AS id, tu.user_name AS vardas,
COUNT(d.download_url) AS siuntiniu, COUNT(ers.error_summary) AS klaidu, COUNT (a.article_subject) AS straipsniu
FROM ".DB_USERS." tu
LEFT JOIN ".DB_DOWNLOADS." d ON tu.user_id=d.download_license AND download_cat IN(1,2)
LEFT JOIN ".DB_ARTICLES." a ON tu.user_id=a.article_name
LEFT JOIN ".DB_PREFIX."error_reports ers ON tu.user_id=ers.error_user
GROUP BY tu.user_id
ORDER BY user_id)
SELECT id, vardas, (siuntiniu+klaidu+straipsniu) AS viso_kiekio
FROM LENTELE_PAGAL_KIEKIUS
ORDER BY viso_kiekio DESC, id");
$i=0;
while($data = dbarray($query)) {
echo "kur laminu? (".$i++.")";
}
closeside();
Error:
Parse error: syntax error, unexpected '{' in /home/user/domains/url/public_html/administration/panel_editor.php(111) : eval()'d code on line 23
Redagavo ozzWANTED· 2009 Lap. 4 21:11:47
Parašė ozzWANTED· 2009 Lap. 4 21:11:26
#20
Pataisiau source kodą tavo poste.
Parašė Narysx· 2009 Lap. 4 21:11:00
#21
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 'WITH LENTELE_PAGAL_KIEKIUS AS ( SELECT tu.user_id AS id, tu.user_name AS var' at line 1You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'WITH LENTELE_PAGAL_KIEKIUS AS ( SELECT tu.user_id AS id, tu.user_name AS var' at line 1
Parašė ozzWANTED· 2009 Lap. 4 21:11:13
#22
Pas tave v7 fusion'as(?), gal koks DB_USERS neapibrėžtas.
Redagavo ozzWANTED· 2009 Lap. 4 21:11:27
Parašė Narysx· 2009 Lap. 4 21:11:51
#23
v6. :?
Parašė ozzWANTED· 2009 Lap. 4 21:11:25
#24
Nu tai bent jau iš v7 fusion'o isincludink sau includes/multisite_include.php
include_once(INCLUDES.multisite_include.php');
arba ".DB_USERS." keisk į ".DB_PREFIX."users
ir ".DB_DOWNLOADS." į ".DB_PREFIX."downloads
ir ".DB_ARTICLES." į ".DB_PREFIX."articles
Redagavo ozzWANTED· 2009 Lap. 4 21:11:39
Parašė Narysx· 2009 Lap. 4 21:11:51
#25
Tą patį meta:
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 'WITH LENTELE_PAGAL_KIEKIUS AS ( SELECT tu.user_id AS id, tu.user_name AS var' at line 1You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'WITH LENTELE_PAGAL_KIEKIUS AS ( SELECT tu.user_id AS id, tu.user_name AS var' at line 1