kostenloser Webspace werbefrei: lima-city


Mehrere Links in Datenbank schreiben.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    r*s

    Ich speichere Links in eine Datenbank. Dabei gehören immer mehrere Links zu einem Thema. Jetzt möchte ich in der einer Tabelle unter der Spalte Links mehrere speichern. Zum Beispiel mit einem Semikolon getrennt. Aber wie kann ich beim auslesen dieses Eintrages wieder auf die einzelnen Links kommen??

    Also zur Veranschaulichung jemand schreibt in ein Formular
    Link: link1, link2, link3 ...
    Thema: Thema1
    Name:Name1

    Die Links sollen in einer Datenbank gespeichert werden. Da dachte ich mir ich könnte dann in der Spalte "Link" speichern:
    'link1;link2;link3;...'

    Aber hieraus müsste ich noch die einzelnen Links wieder bekommen, wenn ich diesen Eintrag auslese. Wie kann ich so etwas bewerkstelligen???


    Beitrag geändert: 25.8.2008 17:20:49 von rms
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Schreibe doch für jeden Link einen Datensatz.
    Dann kannst du diese für die Ausgabe über den entsprechenden SQL-Befehl wieder heraussuchen:

    SELECT blablabla WHERE THEMA = SO AND NAME = JENER.

    Mit Semikolon würde ich da nichts trennen.

    Also praktisch eine Tabelle mit

    ID, LINK, THEMA, NAME


    Beitrag geändert: 25.8.2008 17:21:13 von karpfen
  4. Das würde zwar auf mehrere Weisen funktionieren, aber an deiner Stelle würde ich einfach 5 Spalten anlegen, jede für einen Link. Ansonsten gibts eine Menge Schreibarbeit, und es wird unnötig kopliziert.


    Edit: Warum ist eigentlich immer einer schneller als ich?

    Beitrag geändert: 25.8.2008 17:22:52 von my-selfmade

  5. Das würde zwar auf mehrere Weisen funktionieren, aber an deiner Stelle würde ich einfach 5 Spalten anlegen, jede für einen Link. Ansonsten gibts eine Menge Schreibarbeit, und es wird unnötig kopliziert.


    Das hat aber nix mit normalisierter Datenbank mehr zu tun.

    Wenn dann mal zu einem Thema nur 1 Link anstelle von 3 ist, dann wird Speicherplatz unnötig belegt.
    Zudem muss man die Tabelle erweitern, wenn man mal mehr als 3 Links (als Beispiel) haben will.


    EDIT: Der Fisch ist immer schneller ;)

    Beitrag geändert: 25.8.2008 17:23:52 von karpfen
  6. Autor dieses Themas

    r*s

    Vielen Dank für die Vorschläge. Ich habe mir überlegt einfach einen html-Quellcode Teil zu speichern, dann erledigt sich das Problem. also in etwa so:
    link1<br>link2<br>

  7. Vielen Dank für die Vorschläge. Ich habe mir überlegt einfach einen html-Quellcode Teil zu speichern, dann erledigt sich das Problem. also in etwa so:
    link1<br>link2<br>


    Ich weiss zwar nicht, was du vorhast, aber ich halte das für nicht so sinnvoll.
    Willst du später mal irgendwas am Layout deiner Seite machen, musst du dafür jeden Datensatz ändern.

    Trenne lieber die Daten und den html-Teil.
    Lese die Daten dann lieber ein und formatiere das mit html und php in deiner PHP-Datei.

    Und schau auch mal "normalisierte Datenbanken" an. Das Thema ist sehr hilfreich diesbezüglich.
  8. a****f

    also ich würde das ja mit und explode(); machen....

    den string an den ; aufbrechen -> $array = explode ( $string , ';' );
    und dann für jeden arrayeintrag den linkausgeben ( while- oder forschleife)

    wenn du den spass speicherst schreibst du den link einfach wieder in die mysql rein...


    HTH

    axlalf
  9. Also ich würde 2 Tabellen machen:

    ThemaID | Thema | Name

    und

    ThemaID | Link

    so speichert man die Kombination aus Thema+Name nicht für jeden Link extra ab
  10. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.


    Also ich würde 2 Tabellen machen:

    ThemaID | Thema | Name

    und

    ThemaID | Link

    so speichert man die Kombination aus Thema+Name nicht für jeden Link extra ab


    Und wie wird der Link getrent behandelt bei, da sollte noch ein Primäschlüssel rein, also so wür ich es machen:

    [/b]ThemaID[/b] | Thema | Name

    und

    ThemaID | Link
    oder
    LinkID | ThemaID | Link

    Fett = Primärschlüssel
    Unterstrichen = Fremdschlüssel

    Denn ein Link kann auch in zwei Kategorien stehen
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!