php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.06.2010, 13:45  
Neuer Benutzer
 
Benutzerbild von Konsti Vog.
 
Registriert seit: 23.06.2010
Beiträge: 19
PHP-Kenntnisse:
Fortgeschritten
Konsti Vog. befindet sich auf einem aufstrebenden Ast
Konsti Vog. eine Nachricht über ICQ schicken Konsti Vog. eine Nachricht über MSN schicken
Standard MySQL Tabelle Einteilung?

Hallo an alle,

ich will gleich auf den Punkt kommen:
Ich hab ein Loginsystem mit php geschrieben, und will es nun um eine freunde-funktion erweitern - Dass man jemanden als Freund erklähren kann.
ich hab die Tabelle in MySQL, wo die Nutzer eingetragen sind. Wie kann ich das jetzt mit den Freunden realisieren, dass ich das in eine Tabelle eintrage, wer mit wen befreundet ist?

ich danke schonmal im vorraus für eure Antworten!

MfG

Konstantin
Konsti Vog. ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.06.2010, 14:01  
Neuer Benutzer
 
Benutzerbild von Konsti Vog.
 
Registriert seit: 23.06.2010
Beiträge: 19
PHP-Kenntnisse:
Fortgeschritten
Konsti Vog. befindet sich auf einem aufstrebenden Ast
Konsti Vog. eine Nachricht über ICQ schicken Konsti Vog. eine Nachricht über MSN schicken
Standard

jetzt antworte ich mir selber, aber ich hab gerade was gefunden!
Könnte ich nicht alle namen der Freunde in eine Zelle schreiben und den ausgelesenen Wert dann mit php bei einem Komma trennen? oder gehts einfacher?

MfG
Konstantin
__________________
Wer einen Rechtschreibfehler entdeckt, darf ihn behalten
Konsti Vog. ist offline   Mit Zitat antworten
Alt 23.06.2010, 14:04  
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

NEIN tu das nicht. Dafür sind Datenbanken nicht gedacht -> erkundige dich mal über Normalisierung!

Du solltest eine zweite Tabelle anlegen mit zwei Spalten. In diese Spalten schreibst du jeweils die IDs der beiden Freund! Somit kannst du deren Beziehung zueinander darstellen.
Flor1an ist offline   Mit Zitat antworten
Alt 23.06.2010, 14:04  
Erfahrener Benutzer
 
Registriert seit: 10.02.2009
Beiträge: 929
ragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Mensch
Standard

Alles in eine Zeile => Pfui

Erstelle eine eigene Tabelle
zB;
Code:
userid - friendid
ragtek ist offline   Mit Zitat antworten
Alt 23.06.2010, 14:06  
Neuer Benutzer
 
Benutzerbild von Konsti Vog.
 
Registriert seit: 23.06.2010
Beiträge: 19
PHP-Kenntnisse:
Fortgeschritten
Konsti Vog. befindet sich auf einem aufstrebenden Ast
Konsti Vog. eine Nachricht über ICQ schicken Konsti Vog. eine Nachricht über MSN schicken
Standard

Stimmt, ich weiß nicht, an was ich gerade gedacht habe ( ich hatte wol gerade einen Blackout! ) ich wusste wirklich nicht, wie ich das machen sollte

Danke nochmal --> Konstantin
__________________
Wer einen Rechtschreibfehler entdeckt, darf ihn behalten
Konsti Vog. ist offline   Mit Zitat antworten
Alt 23.06.2010, 14:41  
thomas_w
Gast
 
Beiträge: n/a
Standard

Eine Idee dazu, wobei die Gefahr der Rekursion (also eine endlose Freundschaftkette 1 -> 2 -> 3 -> 2 -> 1 ) besteht.

Code:
CREATE TABLE nutzer (
 nutzer_id INT NOT NULL,
 name VARCHAR(50) NOT NULL,
 vorname VARCHAR(50) NOT NULL,
 
 PRIMARY KEY (nutzer_id)
);

CREATE TABLE nutzer_hat_freund (
 nhf_id INT NOT NULL,
 nutzer_id INT NOT NULL,
 freund_id INT NOT NULL,
 
 PRIMARY KEY (nhf_id),
 
 CONSTRAINT fk_nutzer_01
  FOREIGN KEY (nutzer_id)
   REFERENCES nutzer (nutzer_id),

 CONSTRAINT fk_nutzer_02
  FOREIGN KEY (freund_id)
   REFERENCES nutzer (nutzer_id)
);

INSERT INTO nutzer VALUES 
( 1, 'Name-1', 'Vorname-1' ),
( 2, 'Name-2', 'Vorname-2' ),
( 3, 'Name-3', 'Vorname-3' );

INSERT INTO nutzer_hat_freund VALUES 
( 1, 1, 3 ),
( 2, 2, 3 );
Eine Auswertung ist auch nicht ganz trivial.

Grüße
Thomas
  Mit Zitat antworten
Alt 23.06.2010, 14:47  
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

Wieso sollte sich eine endlose Freundeskette ergeben? Wenn du jede Freundschaftsbeziehung nur einmal abspeicherst hast du ja keine doppelten Daten. Beim auslesen solltest du sowieso aufpassen eine Rekursion möglichst zu vermeiden.
Flor1an ist offline   Mit Zitat antworten
Alt 23.06.2010, 14:55  
thomas_w
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Wieso sollte sich eine endlose Freundeskette ergeben? Wenn du jede Freundschaftsbeziehung nur einmal abspeicherst hast du ja keine doppelten Daten. Beim auslesen solltest du sowieso aufpassen eine Rekursion möglichst zu vermeiden.
Es muss natürlich keine endlose Freundschaftskette geben, aber es kann. Voraussetzung dafür dass es keine gibt ist eine korrekte Validierung beim INSERT und UPDATE.

Sollte auch nur ein Hinweis auf die Problematik "Rekursion" sein.

Grüße
Thomas
  Mit Zitat antworten
Alt 23.06.2010, 16:35  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ach man, das Thema gabs doch hier schon 1000 mal..
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch 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
Daten aus Tabelle 1 über Vergleich mit Tabelle 2 ziehen (MySQL) juice122 Datenbanken 12 28.05.2010 22:22
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
Mysql Übereinstimmung von Datensätzen innerhalb einer Tabelle prüfen MrVienna PHP Tipps 2010 13 28.01.2010 17:46
Was ist das Limit der Datensätze in einer MySQL Tabelle? ph!l Datenbanken 3 17.01.2010 22:37
[Erledigt] mySQL Tabelle existenz Prüfung hadro Datenbanken 6 26.11.2009 13:50
Bildpfad in Tabelle mysql auslesen DKuhn Datenbanken 5 07.10.2009 13:46
Bilder in Tabelle einfügen Mysql oder direkt?! DKuhn PHP Tipps 2009 3 30.09.2009 10:14
[Erledigt] MySQL, Daten in Tabelle einlesen, Struktur funktioniert nicht ganz MasterChief PHP Tipps 2008 3 13.10.2008 11:39
Daten aus Mysql Tabelle über Arrays in Variabeln schreiben Toby PHP Tipps 2008 8 22.08.2008 10:01
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
jede 2. Zeile aus MySQL Tabelle auslesen PHP Tipps 2004-2 4 09.11.2004 14:25
[Erledigt] tabelle in Mysql übertragen Datenbanken 0 05.08.2004 10:23
Maximal Wert in MYSQL Tabelle nach id rausfinden? PHP Tipps 2004 3 03.07.2004 23:27
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
freunde php mysql, php mysql freundschaftskette, php sql wer ist mit wehm befreundet, datenbanken einteilung, mysql freunde, php freundeskette, tabelle einteilung, mysql freunde tabelle, wie ist eine tabelle eingeteilt, freundeskette php, mysql rekursion bei auslesen vermeiden, mysql freundschaftskette

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:28 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