Avatar billede rarw Nybegynder
08. november 2005 - 00:35 Der er 6 kommentarer og
1 løsning

Vis øverst hvis online ?

Hej alle sammen :-)

Jeg har prøvet at spørger før diverse steder om det er muligt at
få ens venner på sin venneliste øverst på listen hvis de er
online.

Jeg fik rigtig god hjælp men desværre virkede resultatet ikke :(

Tabellen for brugere:

CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`brugernavn` varchar(25) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`navn` varchar(255) NOT NULL default '',
`born_day` int(11) NOT NULL default '0',
`born_month` int(11) NOT NULL default '0',
`born_year` int(11) NOT NULL default '0',
`landsdel` varchar(255) NOT NULL default '',
`created` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`kon` set('Dreng','Pige') NOT NULL default '',
`tekst` longtext NOT NULL,
`billede` set('yes','no') NOT NULL default '',
`postnr` int(4) NOT NULL default '0',
`born` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
);

Min online tabel er sådan her ud:

CREATE TABLE `online_profiles` (
`date` int(11) NOT NULL default '0',
`brugernavn` varchar(25) default NULL,
`page` varchar(255) default NULL,
`user_id` int(11) NOT NULL default '0'
);

Og til sidst venneliste tabellen:

CREATE TABLE `venneliste` (
`id` int(11) NOT NULL auto_increment,
`to_user` int(11) NOT NULL default '0',
`from_user` int(11) NOT NULL default '0',
`date` longtext NOT NULL,
`godkendt` set('yes','no') NOT NULL default '',
PRIMARY KEY (`id`)
);

Vi kom frem til dette:

$sql = "
SELECT
f.*
,t.brugernavn as tilbruger
,fra.brugernavn as frabruger
,IF( o.user_id IS NULL, 0, 1 ) as online
FROM
venneliste f
INNER JOIN
users t
ON
f.to_user = t.id
INNER JOIN
users fra
ON
f.from_user = fra.id
LEFT OUTER JOIN
online_profiles o
ON
f.id = o.user_id
WHERE
(f.to_user = '".$_GET['id']."'
OR f.from_user = '".$_GET['id']."')
AND f.godkendt = 'yes'
ORDER BY
online
,f.id DESC
LIMIT
$vis_fra, $pr_side";


Men det sætter dem ikke øverst på vennelisten :(

Nogle der kan hjælpe ? :-)
Avatar billede jakobdo Ekspert
08. november 2005 - 07:43 #1
Vi er enige om at er en bruger online, så vil han have nyeste tid i online_profiles listen ikke?
Hvornår er en bruger "ONLINE"?
Når hans tid er inden for 5 minutter?
Eller?
Avatar billede rarw Nybegynder
08. november 2005 - 22:57 #2
Ja nemlig.

En bruger er online hvis han har lavet aktiv på siden inden for 10 min :)
Avatar billede jakobdo Ekspert
14. november 2005 - 11:49 #3
Kan jeg på nogen måde få adgang til din database?
Så vil jeg gerne prøve at lave en query som kan give dig det resultat du ønsker.
Avatar billede rarw Nybegynder
14. november 2005 - 17:39 #4
Kan du ikke bare lave den her og så kan jeg gøre det med databasen :O?
Avatar billede rarw Nybegynder
24. november 2005 - 05:54 #5
hello 8)?
Avatar billede jakobdo Ekspert
24. november 2005 - 08:34 #6
Jeg kan ikke lige gennemskue denne!
Avatar billede rarw Nybegynder
24. november 2005 - 16:14 #7
Okay, tak anyway :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester