PM hjælp

Tags:    php

Hej

Jeg har et meget irreterende problem med mi PM (Privat Message) system

Jeg har lavet det sådan så man kan have nogle fortrukne brugere, og det fungere udemærket.

Problemmet kommer så når jeg skal have vist brugere som har send en besked til fx mig og ikke er på ens foretrukne liste.

Her er koden til Hele Listen:

Fold kodeboks ind/udKode 


Her er der et billeder af hvad der sker sådan som det er nu:

Link til billede

Håber der er nogen som kan hjælpe da jeg er på bar bund.

Hvis i har spørgsmål så skriv endelig så skal jeg svare så godt jeg kan.



7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Det var så lidt...



Hvad er det præcis problemet består i? :)

Men der er i hvert fald fejl i dit "if($for[$i] == $b[fra])". Du skal gennemgå hele $for-arrayet i denne test, da du ikke kan forvente at de to arrays følger hinanden 100% - i det tilfælde skulle alle "andre kontakter" være på listen under "foretrukne".

I stedet kan du lave noget ala:

Fold kodeboks ind/udKode 


Desuden henter du alle beskeder, som sendes til en given elev. Forestil dig at kasper har sendt 3 beskeder til martin: Kasper vil nu findes 3 gange i din liste over beskeder til Martin. Da du ikke tjekker om eleven tidligere er udskrevet, vil Kasper blive udskrevet 3 gange :)

Løser dette ikke dit problem, må du jo vende tilbage..



Forresten overskriver du $a. Du gemmer listen over alle beskederne i $a, før du gør ind i din while-løkke.

Senere i denne sætter du $a = mysql_query($sql). Dette overskriver din liste over beskeder, hvorfor du vil ende i et uendeligt loop, hvor samme bruger konstant vil udskrives. Vælg i stedet $c, så vil du undgå at udskrive samme person hele tiden ;)



Ok, takker for dit svar... Tjekker lige op på det du har skrevet og hvis der opstår nogle problemer vender jeg lige tilbage, ellers vil du se at du har modtaget 100 point ;)



Hej Mads

Du skriver det med at jeg vil få 3 med den samme elev i din første besked.

Hvordan tjekker jeg at personen ikke allerede er udskrevet?



Jeg vil foreslå dig at oprette et array $udskrevet = array();

Dette gøres før du går ind i dit loop, hvorefter du fylder op med de elevers id, som bliver udskrevet:

array_push($udskrevet, $b[fra]);

Dette tilføjes allersidst i dit loop (hvor du tidligere opdaterede i :))

Herefter tilføjer du følgende kode umiddelbart efter, at du tjekker om brugerne er på listen over foretrukne:

Fold kodeboks ind/udKode 


Har ikke testet, men det burde løse dine problemer. Held og lykke med dit projekt ;)



Tak, rigtig mange gange...

Har ikke tjekket men ser ud til at det hvirker, så du får point...

Takker for hjælpen...

Du skal lige skrive en kommentar med muglighed for point, ellers for du ikke de 100...



Indlæg senest redigeret d. 11.06.2006 19:03 af Bruger #9674
t