Friend system
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfrage
array
beispiel
brauch
code
datenbank
fehler
feld
frage
freund
freundschaft
http
paar
problem
sagen
tabelle
teddy
url
versuchen
zeile
-
So hab grad getest, er gibt mir garnichts aufjeden fall keine ID da ich sie mit
getestet nur es hat nicht funktionier, wer selber testen will : www.impulsecraft.de die seite wird momentan noch wo anders gehostet aber ich überlege stark zu wechseln .echo $friendship->FriendID //mein eintrag heißt so
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Genauso kannst du es theoretisch machen.
Du kannst aber auch den friendship_accepted Filter ganz raus nehmen, statt 2 Abfragen zu machen und dann in der While Schleife unterscheiden.
Wenn du aber Aktzeptierte und Unbestätigte Freunde trennen willst (zB. 2 Listen) ist es mit 2 Abfragen leichter.
Alternativ kannst du auch ein multiples Array füllen (bietet sich vielleicht eher bei mehreren Möglichkeiten für friendship_acceptet (zB gesperrt oder ignoriert) an, oder dann, wenn man mehrere Abfragen vermeiden mag, weil man öfter auf die Werte zugreifen muss und die DB nicht unnötig belasten will:
<?php $user_id = 'id des users'; $friends = Array(); $result = mysql_query("SELECT friend_id FROM friendships WHERE user_id = '".$user_id."' ); while($friendship = mysql_fetch_object($result)){ //friendship->friend_id entspricht der Id des n-ten Freundes $friends[friendship-> friendship_accepted][] = friendship->friend_id; } // $friends[ status also 0 oder 1 für Aktzeptiert / nicht aktzeptiert und weitere falls vorhanden ] enthält nun wiederum ein Array mit allen id's des statuses
Ich denke aber dein Problem sollte soweit gelöst sein oder?
MFG
EDIT:
poste bitte etwas mehr code, da an dem Ausschnitt bicht auszumachen ist wo ein fehler liegen könnte!
Ausserdem solltest du vielleicht bei einem größeren Projekt wie einem Social Network ersteinmal die DB Architektur planen und nicht drauf los programmieren. Ist zwar möglich, bringt dich aber bei den Ersten Fehlern im ungeordneten 2000 lines Script zum Verzweifeln. Und du wirst dich zudem bestimmt ärgern wenn du nach 3 Tagen harter Arbeit merkst, dass du die Datenbankstruktur ändern, was auch Änderungen an den verschiedensten Stellen bedeutet was bei einem ungeplanten Projekt schon an sich eine Herausforderung darstellt.
Mein Tipp wäre daher erstmal alles theoretisch durchplanen und dann kommen später noch genug andere Probleme auf.
Viel Erfolg!
Beitrag zuletzt geändert: 21.11.2012 18:54:13 von programtools -
Ich kann gleich in einem schritt alles Posten was mit meiner frage zu tuhen hat . Und ja ich könnte mich mehr mit organisation beschäftigen nur ich mag unordnung im code einfach da ich weiß wie ich schreibe deshalb kann man auch sicherlich merken
dass ich alleine bin , und ich programmiere als Hobby. Beruf kann dauern bis ich überhaupt ein hab , ich bin erst 12 und viele Denken sich sicherlich "Oh gott is der verrückt" nur ich bin unterfordert deshalb krieg ich das neben Schule geregelt, und versuche halt mein
Traum umzusetzen . Also und jetzt zum Code -.- :
$username = $_SESSION['username']; $user_id = mysql_query("SELECT id FROM login WHERE username LIKE '$username' LIMIT 1"); $result = mysql_query("SELECT FriendID FROM friends WHERE accepted = '1' AND UserID = '$user_id' "); while($friendship = mysql_fetch_object($result5)){ echo "<b>"; $res2 = mysql_query("SELECT username FROM login WHERE id = '$friendship->FriendID'"); $row3 = mysql_fetch_object($res2); echo $friendship->FriendID; echo "</b>"; }
So das ist alles meine methode zum Text posten braucht ihr ja nicht hoffe ich , da mich das sehr viel arbeit gekostet hat und ich nicht will das jmd. von mir klaut, Und wen auf meiner seite den Satz :Impulsecraft.de ist ein soziales Netzwerk , wir stehen noch in den Startlöchern und momentan bieten wir höchste sicherheit da <br>
stört, dem kann ich sagen 3:00uhr nachts war ne blöde zeit zum schreiben ...
das komunizieren noch nicht möglich ist -
ffs2309 schrieb:
Also und jetzt zum Code -.- :
$username = $_SESSION['username']; $user_id = mysql_query("SELECT id FROM login WHERE username LIKE '$username' LIMIT 1"); $result = mysql_query("SELECT FriendID FROM friends WHERE accepted = '1' AND UserID = '$user_id' "); while($friendship = mysql_fetch_object($result5)){ echo "<b>"; $res2 = mysql_query("SELECT username FROM login WHERE id = '$friendship->FriendID'"); $row3 = mysql_fetch_object($res2); echo $friendship->FriendID; echo "</b>"; }
Wo kommt denn "$result5" her? Ich sehe nur "$result"... Außerdem, um den Server zu schonen, bitte mal folgendes durchlesen: Mysql JOIN. Du brauchst für das, was du vor hast nur eine einzige Query. Wenn du damit net klar kommst sag bescheid, aber probiere es erst einmal alleine. -
Das $result5 kommt daher das ich die variablen name im hier abgelodeten code verändert hab nur ich hab mehr queries für andere sachen und da hab ich vergessen das abzuändern
EDIT:
also soweit ich verstanden hab steht in der referenz das ich mehrere felder auslesen kann was ich schon wusste nur aus 'ner anderen tabelle auch ? das verwirrt mich irgendwie
Beitrag zuletzt geändert: 22.11.2012 17:30:02 von ffs2309 -
Mit JOINS liest Du Felder aus, die mit der ersten Zeile zu tun haben.
Wenn Du zum Beispiel eine Benutzertabelle hast, kannst Du den Benutzer
suchen und gleichzeitig noch in einer anderen Tabelleusername='test'
die Freunde von dem Benutzer mit der Benutzer-ID aus der ersten Tabelle suchen.friends
Beitrag zuletzt geändert: 22.11.2012 21:56:28 von tobiworlds -
ffs2309 schrieb:
EDIT:
also soweit ich verstanden hab steht in der referenz das ich mehrere felder auslesen kann was ich schon wusste nur aus 'ner anderen tabelle auch ? das verwirrt mich irgendwie
Siehe Erklärung von tobiworlds.
Also in deinem Code oder dem Teil davon wird zwar eine Query zur Datenbank geschickt, jedoch ließt du nirgends die Ergebnisse aus. Daher wirst du auch nichts angezeigt bekommen ;)
//EDIT:
Im übrigen: Ich denke nicht, dass dir irgendwer deinen Code klauen wird. Ich zum Beispiel arbeite mit fertigen Klassen und brauch mir nur noch die Query zusammen basteln, der Rest passiert von ganz allein ;) :P
Beitrag zuletzt geändert: 23.11.2012 11:35:00 von kill-a-teddy -
kill-a-teddy schrieb:
ffs2309 schrieb:
EDIT:
also soweit ich verstanden hab steht in der referenz das ich mehrere felder auslesen kann was ich schon wusste nur aus 'ner anderen tabelle auch ? das verwirrt mich irgendwie
Siehe Erklärung von tobiworlds.
Also in deinem Code oder dem Teil davon wird zwar eine Query zur Datenbank geschickt, jedoch ließt du nirgends die Ergebnisse aus. Daher wirst du auch nichts angezeigt bekommen ;)
//EDIT:
Im übrigen: Ich denke nicht, dass dir irgendwer deinen Code klauen wird. Ich zum Beispiel arbeite mit fertigen Klassen und brauch mir nur noch die Query zusammen basteln, der Rest passiert von ganz allein ;) :P
Du verstehst mich nicht da wo $result5 steht müsste $result rein , nur bei mir heißen die variablen anders bei mir heißt $result $result5 -
ffs2309 schrieb:
Du verstehst mich nicht da wo $result5 steht müsste $result rein , nur bei mir heißen die variablen anders bei mir heißt $result $result5
Dann musst du das aber auch in der while schleife angeben aber ok ich versteh es ja nicht :D Viel spaß dann mal, ich werde hier nicht mehr antworten...
-
ffs2309 schrieb:
Und ja ich könnte mich mehr mit organisation beschäftigen nur ich mag unordnung im code einfach da ich weiß wie ich schreibe deshalb kann man auch sicherlich merken
dass ich alleine bin , und ich programmiere als Hobby. Beruf kann dauern bis ich überhaupt ein hab , ich bin erst 12 und viele Denken sich sicherlich "Oh gott is der verrückt" nur ich bin unterfordert deshalb krieg ich das neben Schule geregelt, und versuche halt mein
Traum umzusetzen . Also und jetzt zum Code -.- :
Ersteinmal zu deiner Einstellung, da unterliegst du einem Typischen, ich nenns mal 'Anfänger / hobbyentwickler' Irrtum, was sie eventuell auch noch in deinem jungen Alter begründen lässt. Du möchtest möglichst schnell was machen, schnell resultate hervorbringen und die Zeit nicht mit lahmen Theorieen und Strukturierungen (Code-Architektur) beschäftigen. Zudem lebst du wohl auch in dem Glauben, dass du deinen eigenen Code lesen kannst und das das reicht.
Ich möchte dir sicher nichts vorwerfen, aber ich spreche aus guter Eigenerfahrung. In ein paar Jahren wirst du einen unkommentierten Code kaum noch durchblicken. Wie möchtest du bitte wissen, wofür $result1 bis $result150 stehen, wenn du dir keine einheitliche Benamsung für Variablen überlegt hast, geschweigedenn Kommentare / Struktur im Code hast. Dazu kommt, dass du mit der zeit ja auch dazulernst und dich ärgern wirst, dass du dsachen unsauber und umständlich gelöst hast. Das alles ist wohl nicht von belangen, wenn du ein kleines hello World proggst, aber bei einem Sozialen Netzwerk ?!? Ich tue mich schwer mit der Vorstellung dass Facebook keine Struktur im Code hat :)
Wie gesat, mein Tipp wäre, überleg dir was du willst. Plane deinen Code. Überlege dir gut & klug Variablen Namen (zumbeispiel $g_ als Präfix für global $ar_ für array $obj_ für objecte $res_ für Ressourcen oder schreib das in Kommentare. Egal wie, aber was dir jetzt nicht wichtig erscheint wird darüber entscheiden, ob du in ein paar Monaten aufgibst oder weiter arbeitest.
Zudem wird dir auch keiner helfen können wenn du mal mit dem Problem 'Ou in 1000 Zeilen Code ist ein Fehler. Finde ihn nicht.' zu uns kommst :D Je besser / transparenter der Code, desto leichter für uns.
In diesem Sinne, weiterhin viel Erfolg! -
programtools schrieb:
Ersteinmal zu deiner Einstellung, da unterliegst du einem Typischen, ich nenns mal 'Anfänger / hobbyentwickler' Irrtum, was sie eventuell auch noch in deinem jungen Alter begründen lässt. Du möchtest möglichst schnell was machen, schnell resultate hervorbringen und die Zeit nicht mit lahmen Theorieen und Strukturierungen (Code-Architektur) beschäftigen. Zudem lebst du wohl auch in dem Glauben, dass du deinen eigenen Code lesen kannst und das das reicht.
Ich möchte dir sicher nichts vorwerfen, aber ich spreche aus guter Eigenerfahrung. In ein paar Jahren wirst du einen unkommentierten Code kaum noch durchblicken. Wie möchtest du bitte wissen, wofür $result1 bis $result150 stehen, wenn du dir keine einheitliche Benamsung für Variablen überlegt hast, geschweigedenn Kommentare / Struktur im Code hast. Dazu kommt, dass du mit der zeit ja auch dazulernst und dich ärgern wirst, dass du dsachen unsauber und umständlich gelöst hast. Das alles ist wohl nicht von belangen, wenn du ein kleines hello World proggst, aber bei einem Sozialen Netzwerk ?!? Ich tue mich schwer mit der Vorstellung dass Facebook keine Struktur im Code hat :)
Wie gesat, mein Tipp wäre, überleg dir was du willst. Plane deinen Code. Überlege dir gut & klug Variablen Namen (zumbeispiel $g_ als Präfix für global $ar_ für array $obj_ für objecte $res_ für Ressourcen oder schreib das in Kommentare. Egal wie, aber was dir jetzt nicht wichtig erscheint wird darüber entscheiden, ob du in ein paar Monaten aufgibst oder weiter arbeitest.
Zudem wird dir auch keiner helfen können wenn du mal mit dem Problem 'Ou in 1000 Zeilen Code ist ein Fehler. Finde ihn nicht.' zu uns kommst :D Je besser / transparenter der Code, desto leichter für uns.
In diesem Sinne, weiterhin viel Erfolg!
Ok ich beherzige deinen rat und versuche ordnung reinzubringen, Wobei mein Code jetzt nicht gerade schwer war , aber ich versuchs ;) wobei ich gerne wüsste wie joins funktionieren die versteh ich nähmlich nicht. wobei es sich interresant anhört.
EDIT:
So habs geschafft was ich wollte mein fehler lag anscheinend an der datenbank also hab ich nen bischen probiert und jetzt klappts vllt. ladt ich meine Seite auch hier hoch wobei ich noch probieren will. Schönes Wochenende euch allen und danke für eure großartige Hilfe !!! Wer will soll sich bei mir melden , und kann gerne namentlich genannt werden oder auch nen link zu eurer Hompage :)
Mfg FFS2309
Beitrag zuletzt geändert: 23.11.2012 23:42:36 von ffs2309 -
:) Super. Klar, noch ist dein Code nicht kompliziert, aber glaub mir, das wird noch.
Ich habe dir für Join-Abfragen mal was rausgesucht http://www.tizag.com/mysqlTutorial/mysqljoins.php (Englisch) und http://aktuell.de.selfhtml.org/artikel/datenbanken/joins/
MFG
Beitrag zuletzt geändert: 24.11.2012 0:06:16 von programtools -
Danke ich schau's mir mal an und bin grad am beschriftem :) nur die variablen mit prefix sind soo lang :(
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage