Ergebnis 1 bis 9 von 9

Thema: phpmyadmin - Strukturbaum

  1. #1
    HTML Newbie
    Registriert seit
    18.10.2010
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard phpmyadmin - Strukturbaum

    hallo zusammen

    baue mir gerade ein kleines news script zusammen. habe jedoch ein paar probleme bei der struktur der datenbank.

    das ganze soll wie folgt aussehen:

    Möchte die News in einzelne Kategorien aufteilen z.B. Sport, Musik usw... hier einzelne Tabellen anlegen, kein Problem...

    In der Tabelle (z.B. Sport) sind dann die einzelnen News aufgelistet (ID, Name, Text usw)

    Jedoch möchte ich, dass jeder Newsartikel eine vielzahl an Links hat. Artikel 1 hat 24 Links, Artikel 2 besitzt lediglich 2 Links... Wie kann ich das in der Datenbank lösen, dass ich für einen Artikel so viele Links eintragen kann wie ich möchte, ohne dass ich hunderte von Felder anlegen muss? Es soll sich sozugsagen selbst erweitern, wie bei den IDs.

    Etwas kompliziert geschrieben aber keine Ahnung, wie ich das am Besten vermitteln soll...

    Würde mich über Antworten freuen

    lg flicker
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    Stichwort: Datenbank-Normalisierung.
    Tabelle news:
    id
    text
    datum

    Tabelle links
    id
    url
    linktext
    news_id => die Id des news-eintrags

    Somit ist jeder Link genau einem News-eintrag zugeordnet und du kannst sie über einen einfachen join mit aus der DB holen.

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    18.10.2010
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    ich verstehe das prinzip. wie verbinde ich jedoch zu einem newsartikel die verschiedenen angelegten links? soll wie folgt aussehen:

    Newsartikel 1

    • Link 1


    • Link 2


    • Link 3

    Newsartikel 2

    • Link 1
    • Link 2


    • Link 3


    Kannst du mir das vllt ein wenig genauer erklären? das wäre super!

    LG, flicker

  4. #4
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    Du hast jetzt mal 2 News-einträge, mit den Id's 1 und 2.
    Link 1 hat 7 Links mit den Id's 1-7, Link 2 hat 4 Links mit den Id's 8-11.
    Jeder Link ist eine Zeile in der Link Tabelle und hat das Feld 'news_id'. In diesem Feld steht dann die Id des News-eintrags, zu dem der Link gehört.
    Bei den Links 1-7 steht in diesem Feld also eine 1, bei den Links 4-11 die 2.
    Auslesen kannst du das dann per sql so:
    Code:
    Select id, dies, das, jenes FROM news
    JOIN links ON news_id = news.id
    Und noch was, hab grade deinen ersten Beitrag genauer gelesen. Das ganze wird unmöglich, wenn du für jede Newskategorie eine eigene Tabelle hast.
    Regele die Zuweisung zu den einzelnen Kategorien genauso wie gerade beschrieben.
    Geändert von jojo87 (18.10.2010 um 23:47 Uhr)

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    18.10.2010
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    ah super vielen dank.. hat klick gemacht

  6. #6
    HTML Newbie
    Themenstarter

    Registriert seit
    18.10.2010
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    Leider gibt er mir jedesmal ALLE Links aus... Ist mein Code falsch oder mus sich noch etwas berücksichtigen? Bin noch nicht ganz fit mit der Materie...

    PHP-Code:
    $abfrage "SELECT * FROM news JOIN links ON news.id = links.news_id";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
        {
        echo 
    "<h1>$row->name</h1>";
        echo 
    "<h1>$row->url</h1>";
        } 

  7. #7
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    du fragst ja gerade auch alle news einträge ab, somit bekommst du auch alle link-einträge.
    Da du mehrere Links pro news-eintrag hast, bekommst mehrere Ergebnisse, welche denselben Newseintrag darstellen, für jeden Link einen. Da musst du im Code och gegenprüfen.
    Lass dir mal über ein var_dump() das $row ausgeben, dann siehst du, was ich meine.

  8. #8
    HTML Newbie
    Themenstarter

    Registriert seit
    18.10.2010
    Beiträge
    5
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    jap wird alles angezeigt.. aber bin trotzdem nicht schlauer, wie ich nur die dazugehörigen links anzeigen lassen hmm...

  9. #9
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: phpmyadmin - Strukturbaum

    Wenn du die id des news-eintrags schon hast:
    Code:
    select dies,das,jenes from links where news_id = id des news-eintrags
    Mit deinem obigen Code musst du die Ergebnisse der Abfrage noch aufbereiten:
    PHP-Code:
    $news = array();
    $abfrage "SELECT * FROM news JOIN links ON news.id = links.news_id";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
    {
        if  (isset(
    $news[$row->id])) {
            
    $news[$row->id]['links'][] = array(
                
    'url' => $row->url,
                
    'name' => $row->name
            
    );
         } else {
            
    $news[$row->id] = array(
                
    'text' => $row->text,
                
    //etc
                
    'links' => array(
                    array(
                         
    'url' => $row->url,
                         
    'name' => $row->name
                    
    )
                ) 
            );
        }
    }
    var_dump($news); 

Ähnliche Themen

  1. Arbeiten mit phpMyAdmin
    Von driver im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 13.08.2008, 23:41
  2. phpmyadmin problem
    Von SeekeR im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 10
    Letzter Beitrag: 26.01.2008, 22:30
  3. PHP MYSQL PHPMYADMIN
    Von Blue20 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 30.10.2007, 19:40
  4. Wie phpMyAdmin installieren?
    Von Heiko im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 16.08.2006, 17:36
  5. Mysql - phpmyadmin
    Von Wern im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 24.01.2005, 16:04

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •