php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.09.2004, 15:46  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 140
Paulo
Standard Theorie Frage, News <-> Kommentare

Ich hab 2 Tabellen

- News
- Kommentare

Wie ordne ich jetzt am klügsten die jeweiligen Kommentare den richtigen News zu?

Also das die Kommentare von News "ABC" auch immer unter den News "ABC" erscheinen..
Paulo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.09.2004, 15:51  
Gast
 
Beiträge: n/a
Standard

???

Tabelle t_news:

new_id als Primary-Key, Auto-Increment, Integer(11)
new_text als varchar oder text oder was auch immer
Sonstige Felder...

Tabelle t_comment:

com_id als Primary-Key, Auto-Increment, Integer(11)
com_new_id als Foreign-Key, Integer(11) => t_news
Sonstige Felder...


oder so

Grüsse

Lev
 
Alt 03.09.2004, 16:06  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 140
Paulo
Standard

Wie leg ich einen Foreign Key an?
Hab nur Primary Index Unique --- Fulltext zur Auswahl
Paulo ist offline  
Alt 03.09.2004, 16:21  
Gast
 
Beiträge: n/a
Standard

Foreign-Key ist eine ganz normale NUMBER-Spalte mit UNIQUE-Eigenschaft.


Bei Oracle (und vielleicht anderen größeren Datenbanken) gibts das auch als spezielle Feldeigenschaft, die Datenbank kann da bei Wunsch die Existenz des eigenfügten Schlüssels in der Primary-Tabelle überprüfen. Bei MySQL muss man das manuell machen. Weiß nicht ob MySQL 4 auch echte Foreign-Keys unterstützt.
 
Alt 03.09.2004, 16:24  
Erfahrener Benutzer
 
Registriert seit: 01.09.2004
Beiträge: 140
Paulo
Standard

Also,

Tabelle t_comment:
Field: com_new_id
Type: Int
Length: 11
Unique Key
not null

Wo geb ich => t_news ein?

Benutze MySQL 4.x
Paulo ist offline  
Alt 03.09.2004, 16:34  
Gast
 
Beiträge: n/a
Standard

Nirgends, das ist schon ok so

Du musst jetzt nur noch in deiner Applikation dafür sorgen, dass in diese Spalte die ID des zugehörigen News-Eintrages gespeichert wird. Später kannst du z.B. alle Comments auf den News-Eintrag mit der ID 4711 wie folgt abfragen:

Code:
SELECT t_comment.* FROM t_comment, t_news WHERE new_id=4711 AND com_new_id=new_id
Das ist die einfachste Version, aber so funktionieren relationale Tabellen nun mal
 
 


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
Newssystem, News switchen obi PHP Tipps 2006 1 18.09.2006 00:36
News Slideshow fager PHP Tipps 2006 6 29.03.2006 22:30
PHP News in normale HTML Seite? PHP Tipps 2005-2 5 06.07.2005 19:45
RSS News aus einzelnen Kategorien PHP Tipps 2005 6 08.05.2005 14:56
News sortierung und Newsblätterfunktion CrackPod PHP Tipps 2005 8 01.05.2005 16:36
RSS News einbinden Beitragsarchiv 2 05.03.2005 20:55
Eine News weiter PHP Tipps 2005 4 19.02.2005 17:06
PHP News Script PHP Tipps 2005 7 11.01.2005 14:44
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
[Erledigt] News reihenfolge Datenbanken 1 11.11.2004 00:29
News Rubrik auf mehrere Seiten splitten PHP Tipps 2004 7 07.10.2004 12:29
Member erlauben new's auf der main page zu posten? PHP Tipps 2004 7 12.09.2004 20:55
[Erledigt] Frage! PHP Tipps 2004 4 27.07.2004 11:25
kleine CMS für news Off-Topic Diskussionen 2 21.06.2004 22:39


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