Avatar billede ohhelpme Nybegynder
30. maj 2010 - 17:16 Der er 8 kommentarer og
1 løsning

venne systrem

Hejsa,

Mit problem er at jeg ikke ved hvordan jeg kan udskrive ens venner fra db på en liste

altså min db ser således ud:

id <-- id på den du ansøger... men vis en anden ansøger dig vil du stå i feltet id

me <-- det dig... men vis en anden ansøger dig vil ansøgerens id stå i dette felt

ven <-- y for godkendt n for ikke godkendt som ven

har prøve lidt selv... men min egen kode tager ikke højde for, at en selv  kan stå i begge felter i databasen...
så dvs. vis du fx. ansøger en anden... er det kun dig der får den du ansøgte på vennelisten ... fordi den ansøgtes id står i feltet id... og den ansøgte jo også kun ser om sit eget id står i feltet me...

så hvordan gør man (med php) at den både ser om sit id er i feltet id... og i me

hvordan har facebook, twitter, google osv. lavet deres venne system???

nogle der kan lave et venne system til mig altså behøves ikke være stort men bare hvor i viser hovrdan i al hulen i får udskrevet de forskelige venner rigtigt...

og nej man kan ikke bare gøre:

$query = mysql_query("SELECT * FROM `ven` WHERE `ven` = `y` AND `me` = '$_SESSION['id']'");



for de forskelige id kommer jo "dynamisk" ind i db:

id <-- id på den du ansøger... men vis en anden ansøger dig vil du stå i feltet id

me <-- det dig... men vis en anden ansøger dig vil ansøgerens id stå i dette felt



Jeg håber i forsår hvad jeg mener... for har virkeligt prøvet at forklare mig på alle mulige måder =)
Avatar billede cronaldo Nybegynder
30. maj 2010 - 19:59 #1
Hvorfor ikke bare gøre sådan her:


friends
----------------
id (unikt id på venskabet)
friendone
friendtwo
status (kan være 0 eller 1 - 1=accepteret)
date


og så hente ens venneliste ud noget ala det her:

$query = mysql_query( "SELECT * FROM friends WHERE status = '1' AND (friendone = '".mysql_real_escape_string($_SESSION['id'])."' OR friendtwo = '".mysql_real_escape_string($_SESSION['id'])."' ORDER BY id ASC" ) or die(mysql_error());
Avatar billede j4k0b Nybegynder
31. maj 2010 - 10:11 #2
>> har prøve lidt selv... men min egen kode tager ikke højde for, at en selv  kan stå i begge felter i databasen...

Vil du have det? Så SKAL et venskab gå begge veje? Altså, man kan ikke have en på ens venneliste uden at være på hans venneliste også?
Avatar billede cronaldo Nybegynder
31. maj 2010 - 12:36 #3
Min query gør jo netop ovenstående, j4k0b? :)
Avatar billede j4k0b Nybegynder
31. maj 2010 - 14:39 #4
Ja det kan jeg se. Det undre mig bare at man laver et venne-system hvor et venskab SKAL gå begge veje?

ohhelpme: Ville den bedste løsning ikke være at gøre som du gjorde til at starte med?
Avatar billede ohhelpme Nybegynder
31. maj 2010 - 17:26 #5
er ellers rimlig stærk inde for php... men det her det river håret af mig... =)

men min ide med systemet er... vis jeg nu ansøger kaj som ven...
og kaj godkender venskabet.... får jeg kaj på min venneliste... og kaj for mig på sin venneliste...

sådan sætter jeg data i db:
jeg ansøger kaj... og følgene data bliver indsat:

i feltet me... bliver mit id (i dette tilfælde id 5) indsat
me -> 5
i feltet id... bliver kajs id sat ( i dette tilfælde id 9)
id -> 9

og så et felt som heder ven (ikke vigtigt lige her)

men vis jeg gør:
$query = mysql_query("SELECT * FROM `ven` WHERE `ven` = `y` AND `me` = '$_SESSION['id']'");

vil den jo kun søge efter ens eget id i feltet me...
så i kajs profil... hvor hans id er sat i feltet id... ser den ikke at han er venner med mig... pga. den nettop kun søger efter ens id i feltet me..

cronaldo -> kan desværre  ikke få dit php script til at du...
Avatar billede j4k0b Nybegynder
31. maj 2010 - 17:47 #6
Og hvad hvis så Kaj fjerner dig som ven - skal han så også fjernes fra din venneliste? Det cronaldo skriver ser meget fornuftigt ud til det formål.
Avatar billede ohhelpme Nybegynder
31. maj 2010 - 18:58 #7
Og hvad hvis så Kaj fjerner dig som ven - skal han så også fjernes fra din venneliste? ...ja

har også efter hånden fået det til at virke :D!

men kender i en godt trick til en "data switcher"?

altså noget alaa:

if($dataid == $idd){
$data = mysql_query("SELECT * FROM login.brugere WHERE `id` = '$dataid1'");
} else {
$data = mysql_query("SELECT * FROM login.brugere WHERE `id` = '$dataid'");
}

while($vis = mysql_fetch_array($data)) {
Avatar billede cronaldo Nybegynder
03. juni 2010 - 22:56 #8
Okay jeg fatter ikke hvad du vil, MEN
Du kan jo bare lave en:

$foresp = mysql_query( "SELECT * FROM login.brugere WHERE me = '".mysql_real_escape_string($id)."' OR id = '".mysql_real_escape_string($id)."' ORDER BY id DESC" );

Så tjekker den jo om dit id er EN af dem !?
Det er til vennelisten..



Så laver du jo bare sådan en her på den side hvor man skal acceptere:

$foresp = mysql_query( "SELECT * FROM login.brugere WHERE id = '".mysql_real_escape_string($id)."' AND friend = 'n' ORDER BY id DESC" );
Avatar billede ohhelpme Nybegynder
20. august 2010 - 14:04 #9
aaaa
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