Navigation
Supportsider
Senest Online
HenningS14:41:00
olelau 2 Dage
helmuth 4 Dage
tyson 5 Dage
zepder 6 Dage
Henrik Bendtsen 2 Uger
flj 3 Uger
orgermer 4 Uger
Didos 5 Uger
BronX 5 Uger
Besøgende
Gæster online: 2

Brugere online: 0

Antal brugere: 172
Nyeste bruger: Michael Mogensen
Se indlæg
PHP-Fusion - Danmark » PHP-Fusion version 6 » Elementer v6
 Udskriv debat
Element: Top 5 replikker!
Josso
Er ikke sikker, men prøv at finde dette:

$sql = dbquery("SELECT s.shout_name AS user_id, u.user_name AS user_name, COUNT(user_name) AS shouts FROM fusion_shoutbox AS s

Og tilføj det med rødt:

$sql = dbquery("SELECT user_avatar, s.shout_name AS user_id, u.user_name AS user_name, COUNT(user_name) AS shouts FROM fusion_shoutbox AS s


;)
Redigeret af Josso d. 06-02-2008 18:30
img186.imageshack.us/img186/7947/macuserbar1oz3.png
 
http://mymix.dk
flj
Joss er inde på det rigtige. Hvis det ikke spiller så erstat


user_avatar 


med


u.user_avatar AS user_avatar


er nemlig ikke sikker på om den første spiller.

Flemming
 
Brown
Jeg må sige, at det ikke lige funker det her. Den kommer med en fejlmeldelse, som vil fortælle (så vidt jeg kan se) er en fejl i linje 1, som jeg jo lige har redigeret i. Det vil sige, at det ikke virker.
Jeg forsøger mig lige med Flemmings, og så må vi se om skibet holder vand Wink
Redigeret af Brown d. 06-02-2008 19:02
 
Brown
Heller ikke flemmings løaning virker. Den gør blot sådan, at alle dem der havde skrevet replikker de lige pludselig ikke havde skrevet nogen. Så den altså står på nul. Den ændre intet på avataren. Tak fordi du forsøgte, men det virker desværre ikke.
 
Josso
Denne virker fint + den er W3C valideret. ;)

openside("Top 5 replikker");

$sql = dbquery("SELECT user_avatar, s.shout_name AS user_id, u.user_name AS user_name, COUNT(user_name) AS shouts FROM ".DB_PREFIX."shoutbox AS s
LEFT JOIN ".DB_PREFIX."users AS u ON s.shout_name=u.user_id
GROUP BY u.user_name
ORDER BY shouts DESC LIMIT 0,5");

echo "";
$i = 0;
while ($data=dbarray($sql)) {
echo "

";
$i++;
}
echo "

";
if(!empty($data['user_avatar'])) {
$avatar="'".$data['user_name']."'";
} else {
$avatar = ""; }
$shouts = dbcount("(shout_id)", "shoutbox", "shout_name='".$data['user_id']."'");
$locale['R001'] = "replik";
if ($shouts != 1) $locale['R001'] = "replikker";
echo $avatar."
".$data['user_name']."
- ".$shouts." ".$locale['R001']."
";
closeside();

img186.imageshack.us/img186/7947/macuserbar1oz3.png
 
http://mymix.dk
Brown
Oh yeah. Så virker den helt perfekt. Jeg bukker og takker.

Og så redigere vi lige første indlæg til overstående.
 
havian
Det virker fint

MEN hvis en bruger som kommer med på listen,IKKE ønsker dette
feks. top3 kan man så udelukke en bruger,så denne ikke kommer med på TOP5 selvom denne har en reel placering mellem TOP5 ??
 
Brown
Hmm, ikke lige hvad jeg ved af.
 
flj
Ja, det kan man godt.

Men hvordan ved du hvilke(n) bruger(r), det drejer sig om? Hvis du fx. siger at det er bruger med id 3, 9 og 114, så er det let. Men hvis det skal hentes i en tabel et eller andet sted, så kræver det lidt mere.
 
havian
Hejsa

Jamen takker for hurtige svar

JA jeg har brugers ID nummer ,

Men der må jo ikke ske det at de replikker som er lavet så forsvinder
det eneste jeg ønsker ar at bruger bare ikke fremkommer i top5
som iøvrigt er ski** smart (undskyld) bandeord Smile

 
Brown
Ja, hvis man er glad for det, så må man godt bande Smile Mange tak, for rosen i øvrigt.
 
havian
@flj

Har du da en løsnng på dette ? Wink

Det ville jeg være meget glad for,da jeg jo så kan løse det lille "problem"

VH
 
flj
Måske kunne du lade dig inspirere af denne her tråd.

Der kan du se, hvorledes du kan indsætte WHERE s.shout_name NOT IN(1,3,7) i en forespørgsel for ikke at tage bruger 1,3 og 7 med.
 
havian
Hej

øhhh black talk for me ,,hmmm tror jeg nok Wink

Skal den bare ind i filen et sted ?

Og ser den så sådan ud med en user id feks. 155

WHERE s.shout_name NOT IN(155) Shock


VH
 
flj
Prøv


$sql = dbquery("SELECT user_avatar, s.shout_name AS user_id, u.user_name AS user_name, COUNT(user_name) AS shouts FROM ".DB_PREFIX."shoutbox AS s
LEFT JOIN ".DB_PREFIX."users AS u ON s.shout_name=u.user_id
WHERE s.shout_name NOT IN(155)
GROUP BY u.user_name
ORDER BY shouts DESC LIMIT 0,5");


Ikke testet (selv om jeg har dårlige erfaringer med det i dag!)
Redigeret af flj d. 18-03-2008 16:55
 
BassiVassi
Et lille spg til din funktion kan man lave den så den tæller Tagwall i stedet for?
 
Brown
Sagtens, men jeg tror ikke lige jeg er mand for det. Spørg en ekspert, som Yxos, eller Josso, som virkelig har forstand på det.
Redigeret af Brown d. 18-03-2008 19:16
 
askemou
Brown, jeg vil bruge den lige hvad jeg manglede den er cool Smile !
http://www.servage.net/?coupon=cust47588
- FÅ 25GB oveni 510 = 535GB for 40 dkk/md. !!
 
Dieci
Her er min version ;)


openside("Top 3 replikker");

$sql = dbquery("SELECT user_avatar, s.shout_name AS user_id, u.user_name AS user_name, COUNT(user_name) AS shouts FROM ".DB_PREFIX."shoutbox AS s
LEFT JOIN ".DB_PREFIX."users AS u ON s.shout_name=u.user_id
GROUP BY u.user_name
ORDER BY shouts DESC LIMIT 0,3");

echo "";
$i = 0;
while ($data=dbarray($sql)) {
echo "

";
$i++;
}
echo "

";
if(!empty($data['user_avatar'])) {
$avatar="'".$data['user_name']."'";
} else {
$avatar = ""; }
$shouts = dbcount("(shout_id)", "shoutbox", "shout_name='".$data['user_id']."'");
$locale['R001'] = "replik";
if ($shouts != 1) $locale['R001'] = "replikker";
echo $avatar."
".$data['user_name']."
- ".$shouts." ".$locale['R001']."
";
closeside();
Dieci tilknyttede følgende billede:billede:
unavngivet1.jpg

 
www.ejbydevils.dk
Brown
Hej Dieci.

Ret mit endelig hvis jeg tager fejl, men har du ikke bare redigeret min versions overskrift til Top 3 replikker, og så sat den således den kun viser tre replikker, som jeg nu også senere besluttede mit til at gøre på min egen side.


openside("Top 3 replikker");

$sql = dbquery("SELECT user_avatar, s.shout_name AS user_id, u.user_name AS user_name, COUNT(user_name) AS shouts FROM ".DB_PREFIX."shoutbox AS s
LEFT JOIN ".DB_PREFIX."users AS u ON s.shout_name=u.user_id
GROUP BY u.user_name
ORDER BY shouts DESC LIMIT 0,3");

echo "";
$i = 0;
while ($data=dbarray($sql)) {
echo "

";
$i++;
}
echo "

";
if(!empty($data['user_avatar'])) {
$avatar="'".$data['user_name']."'";
} else {
$avatar = ""; }
$shouts = dbcount("(shout_id)", "shoutbox", "shout_name='".$data['user_id']."'");
$locale['R001'] = "replik";
if ($shouts != 1) $locale['R001'] = "replikker";
echo $avatar."
".$data['user_name']."
- ".$shouts." ".$locale['R001']."
";
closeside();


Makeret med rødt kan du ændre det viste antal. Eller for jeg ikke øje på flere funktioner? Har du lavet noget andet som jeg har overset? :-)

 
Dieci
Mmhh jo, du har ret.. Jeg læste bare en bruger der spurgte efter en mere overskuelig version, samt der ikke fyldte så meget højdemæssigt.
Så jeg har bare ændret det til 3 avatar'er, samt gjort størrelsen på miniaturerne mindre.
Jeg prøver skam ikke at tage "pokalen" fra dig, tværtimod, det var blot for at hjælpe Wink
 
www.ejbydevils.dk
Spring til debat: