php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.01.2007, 22:08  
Erfahrener Benutzer
 
Registriert seit: 29.09.2004
Beiträge: 106
becks123
Standard Wie Freundesnetzwerk realisieren?

Servus Leute,

ich würde gerne ein Freundesnetzwerk realisieren in einer DB.

Das soll folgendermaßen funktionieren:

- User A kann User B eine Freundesanfrage senden
- User B kann diese Anfrage bestätigen oder ablehnen
- Andersrum geht es natürlich auch

Wie kann man diese Beziehungen in einer DB am besten realisieren?
Ich sehe ein Problem mit dem Switch zwischen User A und B.

Beispiel:

userA: Hans
userB: Karl

userA: Karl
userB: Hans


Man könnte nun in userA immer den User reinpacken, der die Freundschafts-Anfrage gestartet hat. Das Problem ist nur dann, wenn ich wissen will, wieviele Freunde ich habe, dass ich mich selber in dem Feld "userA" und in dem Feld "userB" suchen muss, weil ich ja eine Freundschaft annehmen kann, oder eine Freundschaft anfragen kann.

Kann man das nicht besser lösen?

Danke!
becks123 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.01.2007, 13:13  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

Ne Tabelle mit Usern Eigenschaften. Eine Tabelle wo nur Freundschaften drin stehen (Beispiel id1, id2) und der Status.

Somit hättest du 2 Tabellen. Hoffe habe es richtig verstanden.

Nichts desto trotz hat dein Problem nichts mit PHP zu tun.
__________________
Wie man Fragen richtig stellt
dsmcg ist offline   Mit Zitat antworten
Alt 20.01.2007, 19:07  
Erfahrener Benutzer
 
Registriert seit: 29.09.2004
Beiträge: 106
becks123
Standard

Sorry, hatte das jetzt hier rein geschrieben, weil ich meine, es passt für fortgeschrittene.

Das Problem mit der Freundschafts Tabelle bleibt in deinem Lösungsversuch auch noch bestehen.

Wenn ich ne Tabelle habe mir Id1, Id2, Status (so wie ich bisher realisiert habe), dann bleibt immer noch das Problem, dass z.B. UserA in Id1 oder Id2 stehen kann.

Inhalt wäre:

Id1: Es wird der User eingefügt, der die Anfrage STELLT
Id2: Es wird der User eingefügt, der die Anfrage BEKOMMT
Status: status halt.

Da UserA jetzt eine Anfrage STELLEN kann und auch BEKOMMEN kann, besteht somit die Möglichkeit, dass UserA entweder in Id1 oder Id2 steht.

Und das sind 2 Query abfragen. Wie kann ich das realisieren, dass nur 1 Abfrage benötigt wird?

Thx!
becks123 ist offline   Mit Zitat antworten
Alt 20.01.2007, 19:11  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ja gut aber so ist es nunmal
SELECT COUNT(*) FROM freundschaften WHERE requestor = 'becks123' OR responsor = 'becks123'

Ist doch keine schlechte Lösung?!
Zergling-new ist offline   Mit Zitat antworten
Alt 21.01.2007, 12:02  
Erfahrener Benutzer
 
Registriert seit: 29.09.2004
Beiträge: 106
becks123
Standard

Dein Query liefert mir jetzt alle Ergebnisse, wo "becks123" drin vorkommt.

Jetzt will ich nen Query haben, was mit meine Freundschaften liefert, die mit "becks123" verbunden sind. Geht das mit nur einem Query? Oder muss ich das iffen?
becks123 ist offline   Mit Zitat antworten
Alt 21.01.2007, 12:10  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Meinst du die die direkt eine Freundschaft mit becks123 haben? Weil dann wäre doch Zerglings Query richtig. Oder möchtest du dass alle ausgelesen werden die über zig andere Freunde mit ihm verbunden sind? À la Freundeskette? Weil dann hast du nen dickes Problem ^^ das ist dann höhere Mathematik die man nicht so schnell mal erklären kann.

Außerdem was soll dieses "iffen" warum immer diese neuen Wortkreationen.
Flor1an ist offline   Mit Zitat antworten
Alt 21.01.2007, 12:37  
Erfahrener Benutzer
 
Registriert seit: 29.09.2004
Beiträge: 106
becks123
Standard

Das ist das Verb für "Eine If Abfrage verwenden"

Ja, Zerglings Query ist zwar richtig, nur der liefert mir die Anzahl der Freundschaften "count(*)".

Sein Query besagt, dass "becks123" entweder im "requestor" oder "respondor" drin steht. So wird mir die Tabelle das auch liefern. Ich möchte ein Query haben, das mir alle Freundschaften (nur im 1ten Grad!) von becks123 liefert.

Ich will also nur 1 Feld haben, wo der Freund von "becks123" drin steht.
Jetzt wäre es so, dass der Freund ENTWEDER in "responder" ODER "requestor" drin steht. D.h. ich müsste das Abfragen. Das will ich aber nicht. Ich will die Abfrage stellen, und dann die schleife durchlaufen, wo der Freund in nur einem Feld drin steht.

$query = "SELECT...";

$db = NewADOConnection(_dbType . "://" . _dbUser . ":" . _dbPassword . "@" . _dbHost . "/" . _dbDatabase . _dbPersist);
$rs = $db->Execute($query);

while( $o = $rs->FetchNextObj() ) {

echo $o->freund . "
";

}


THX
becks123 ist offline   Mit Zitat antworten
Alt 21.01.2007, 12:51  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Mh ne wenn du es schon so speicherst dass man entweder im requestor oder im respondor drinnen steht musste es schon "iffen" *ich mag das wort nicht*

Also in der While-Schleife eben einfach
if ($respondor == 'becks123') $friends[] = $requestor;
else $freinds[] = $respondor;
Flor1an ist offline   Mit Zitat antworten
Alt 21.01.2007, 13:56  
Erfahrener Benutzer
 
Registriert seit: 29.09.2004
Beiträge: 106
becks123
Standard

ja genau...das hatte ich mir auch so vorgestellt. Nur dachte ich, dass es vielleicht eine elegantere Methode gibt, um das Problem zu lösen. Vielleicht ein anderer Datenbank aufbau oder ähnliches.

Aber wenn es nur so geht, dann nimm ich das halt so
becks123 ist offline   Mit Zitat antworten
Alt 21.01.2007, 14:21  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von becks123
ja genau...das hatte ich mir auch so vorgestellt. Nur dachte ich, dass es vielleicht eine elegantere Methode gibt, um das Problem zu lösen. Vielleicht ein anderer Datenbank aufbau oder ähnliches.
Du kannst das ganze auch einfach biderektional speichern. Dann hast du eben doppelt so viele Einträge wie du wirkich brauchst...


Ansonsten kannst du das ganze auch gleich in SQL - ähm - "iffen".
SELECT IF(id1=$gesuchteId, id2, id1) AS freund_id FROM ...
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Serientermine in einem Kalender realisieren? Borlox PHP-Fortgeschrittene 17 28.07.2010 12:47
[Erledigt] Transparente Runde Ecken bei Thumbnial realisieren tomtaz PHP Tipps 2008 3 08.07.2008 01:20
Wie Powersuche realisieren? becks123 Datenbanken 1 25.06.2007 11:38
"BB-Code" realisieren Tobias Tutorials 51 21.08.2006 13:23
Wie könnte ich das mit PHP realisieren und Checkboxen ? andrew22 HTML, Usability und Barrierefreiheit 3 27.04.2006 13:15
"Ungelesen"-Funktion realisieren R4v3r Datenbanken 2 29.03.2006 22:42
Mit 3 Tabellen einen Shop realisieren???? PHP Tipps 2006 5 15.03.2006 13:13
MySQL Abfrage in einen Link realisieren PHP-Fortgeschrittene 6 08.02.2006 18:41
volltextsuche realisieren? EvilDragon Datenbanken 9 03.02.2006 12:10
Filter realisieren PHP Tipps 2005-2 2 21.10.2005 13:54
1:n oder auch n:m beziehungen realisieren Crypi PHP Tipps 2005-2 2 22.08.2005 18:32
Login realisieren! PHP Tipps 2005 4 04.05.2005 13:45
[Erledigt] nach oben && nach unten verschieben realisieren PHP-Fortgeschrittene 8 26.01.2005 22:22
DB Ausgabe in eigenem Templatesystem realisieren Corvin PHP-Fortgeschrittene 25 06.09.2004 18:48
INNER JOIN - realisieren? Schaelle PHP Tipps 2004 1 04.07.2004 09:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
freundschafts tabelle, deutsch online-freunde-netzwerk, user in netzwerk realisieren, freunde netzwerk php, freundschaften in datenbanken, deutsch freunde-netzwerk, freundschafts script für netzwerk, website freunde netzwerk realisieren, php script für freundesnetzwerk, freundesnetzwerk., php freunde realisieren, freundesnetzwerk, freundesnetzwerke datenbank, php newadoconnection 2 tabellen, freundesnetzwerk auslesen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.