/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Vis øverst hvis online.
Fra : Unsafe


Dato : 04-11-05 11:47

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 ?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Unsafe (04-11-2005)
Kommentar
Fra : Unsafe


Dato : 04-11-05 19:17

Slet ingen?
Jeg har prøvet i snart 1½ måned, men virker bare ikke.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Henrik Stidsen (04-11-2005)
Kommentar
Fra : Henrik Stidsen


Dato : 04-11-05 20:08

Unsafe formulated on fredag :
> Men det sætter dem ikke øverst på vennelisten

Hvordan sorterer den dem så ? (kan måske give et hint om hvad der går
galt)

--
Henrik Stidsen - http://henrikstidsen.dk/



Stig Johansen (05-11-2005)
Kommentar
Fra : Stig Johansen


Dato : 05-11-05 07:17

Unsafe wrote:

> 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 :(

Som Henrik også skriver, så er det en god ide, at beskrive hvad der præcist
er galt. Det fremgår ikke om det er outputtet, sortering eller noget
tredje, der er galt.

Derudover vil jeg foreslå dig evt. at prøve ovre i database gruppen, da det
er der SQL-hajerne sidder.

Se længere nede:

[snip]
> 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

Prøv evt.
,IF( o.user_id IS NULL, 0, o.user_id ) as online

[snip]
> ORDER BY
> online
> ,f.id DESC
> LIMIT

Prøv evt.
ORDER BY
online DESC
,f.id


--
Med venlig hilsen
Stig Johansen

Unsafe (05-11-2005)
Kommentar
Fra : Unsafe


Dato : 05-11-05 11:44

Hvad der er galt er at den ikke sortere online brugere så de vises øverst.

Desværre virkede det heller ikke

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste