Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Php if, else

Skapad av Borttagen, 2010-04-24 00:45 i Webbutveckling & Programmering

1 709
23 inlägg
0 poäng
openoffice
Visningsbild
Hjälte 117 inlägg
0
Jag har gjort ett lägg till vän script men nu vill jag att knappen "Lägg till vän" ska försvinna om de redan är vänner.
Jag har gjort en kod där ena personen är personA och andra personB. Koden ser ut så här
Ett stycke php-kod:


if (($personA == $profilensID || $person A == $deninloggadesID)&&($personB == $profilensID || $personB==$deninloggadesID))
Felet med koden är att den kollar igenom hela tabellen om dessa två IDna finns, jag vill att det ska hitta båda IDna på en och samma rad

Ingen status

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

The_lolness
Visningsbild
P 29 Svedala Hjälte 1 288 inlägg
0

Svar till openoffice [Gå till post]:

Fattar inte riktigt problemet...
Men varför behöver det vara på en och samma rad?

...

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till The_lolness [Gå till post]:

för jag vill att lägg till vän knappen ska försvinna om de redan är vänner
och då ligger på samam rad i tabellen

Ingen status

MisterD
Visningsbild
P Hjälte 3 738 inlägg
0
kan inte php men kan c++.

jag skulle göra såhär t.ex.
när någon lägger till personen som en vän så ändras ett värde, vi kan säga att det är en variabel som har värdet 0. när man blir vän blir värdet 1. varje gång man går in på sidan kolla som värdet är 1 eller 0. är värdet 0 visas knappen för att lägga till vän, är värdet 0 visas den inte.

Ingen status

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0

Svar till openoffice [Gå till post]:

Fast på vilket sätt kollar det där om de är vänner? Eller så kanske det är så att jag är trött....

Now there's a look in your eyes, like black holes in the sky.

jagtappademittpw
Visningsbild
33 Hjälte 1 108 inlägg
0

Svar till openoffice [Gå till post]:

mja, du får väl göra en loop som söker igenom en array kanske? är inte helt insatt i PHP och problemet verkar lite diffust om du frågar mig :/

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0
när man lägger till en person som vän hamnar personA och person B på samma rad i tabellen. Om man då söker igenom tabellen och hittar namnen på samma rad är de ju vänner eftersom de omöjligt kan hamna där annars :)

Ingen status

jagtappademittpw
Visningsbild
33 Hjälte 1 108 inlägg
0

Svar till openoffice [Gå till post]:

MisterDs lösning verkar lättast IMO. Den känns som att den kan fungera i alla fall.

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till MisterD [Gå till post]:

men blir inte de komplicerat att urskilja vilka medlemmar som är vänner?

Ingen status

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0
Svar till openoffice [Gå till post]:

Aha...

Då kan du ju konstruera en SQL query som ser ut ungefär såhär:
SELECT * from friends WHERE personA=$profilA_ID AND personB=$profilB_ID

Får du ett tomt resultat tillbaka är de inte vänner, är det något i svaret så är de vänner.

Now there's a look in your eyes, like black holes in the sky.

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till jagtappademittpw [Gå till post]:

ja fast jag förstår inte riktigt hur man ska kunna veta med vem man är vän med och inte

Ingen status

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till toja92 [Gå till post]:

ja fast jag vet ju inte i vilken colum personA och B ligger i det kan ju variera

Ingen status

The_lolness
Visningsbild
P 29 Svedala Hjälte 1 288 inlägg
0
grov idé

SELECT friends from users WHERE id=$userid

och så ser friends ut typ såhär:
1234, 4534, 1012

sen kör du en explode på den.(kallas väl det?)

...

jagtappademittpw
Visningsbild
33 Hjälte 1 108 inlägg
0

Svar till openoffice [Gå till post]:

så det är en kod som körs varje gång du går in på en profil? Så att:

[ANVÄNDARENS ID] klickar bli vän. och då läggs [PROFIL ID] in i en array som sparas, och sedan kollar du om [PROFIL ID] finns varje gång.

Jag kan ingenting om SQL eller PHP egentligen, kan bara grunderna i programmering(Flash, C# och lite C++) så kan inte hjälpa dig konstruera koden, men antar att det är så det ska gå till iaf :P

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0

Svar till openoffice [Gå till post]:

Nu är jag inte extremt bra på mysql, så vet inte om det kommer att funka, men....

SELECT * from friends WHERE personA=$profilA_ID OR personB=$profilB_id AND personA=$profilB_ID OR personB=$profilB_ID

Now there's a look in your eyes, like black holes in the sky.

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Jag skulle göra så här för att inte krångla till det så mycket med onödiga if-satser.

Ett stycke php-kod:
$query = mysql_query('SELECT COUNT(friendID) FROM friends WHERE id='.$_SESSION['userid'].' AND friendID='.$profileID);
$friends = mysql_result($query, 0);
if($friends)
{
//vänner
}
//inte vänner
}


Sen har du en tabell med två kolumner id och friendID där id är för för användare A och friendID är för användare B.

Jag är ond!

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:

kommer de att funka med tanke på att man inte vet i vilken av columerna userA och userB de ligger i.
Vad står friendID för?

Ingen status

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till openoffice [Gå till post]:

Hur ser din tabell ut då?
Min tanke var att friendID skulle stå för sin kompis userid.

Jag är ond!

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0
tabellen heter friends och har colummerna
`id` `userA` `userB` `status`
status ändras från 0 till 1 när userA accepterar vänförfrågan

Ingen status

The_lolness
Visningsbild
P 29 Svedala Hjälte 1 288 inlägg
0


...

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till The_lolness [Gå till post]:

förstår inte riktigt hur du menar

Ingen status

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:

tabellen heter friends och har colummerna
`id` `userA` `userB` `status`
status ändras från 0 till 1 när userA accepterar vänförfrågan



Ingen status

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0
Svar till openoffice [Gå till post]:

$temp = mysql_query("SELECT * FROM friends WHERE userA='$personA' OR userA='$personB' AND userB='$personA' OR userB='$personB' AND status='1'");

if(!$temp){
//inte vänner
} else {
//vänner
}


Nu är jag inte 100% säker på att man får skriva så i MySQL, men du kan ju prova...

EDIT: Kan eventuellt vara:
$temp = mysql_query("
SELECT * FROM friends
WHERE (userA='$personA' OR userA='$personB')
AND (userB='$personA' OR userB='$personB')
AND status='1'");

Now there's a look in your eyes, like black holes in the sky.


Forum » Datorer & IT » Webbutveckling & Programmering » Php if, else

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons