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 ? :-)
--------------------------------------------------------
Besøg mig på
http://www.unsafe.dk