PHP / MySQL -> aus Tabelle in Datenbank

  • Moin !

    Ich steh (mit meinen Beginner-PHP-Kenntnissen) grad vor nem großen Problem:

    Ich hab 2 Tabellen. Der Aufbau ist fast identisch. Aus Tabelle 1 werden 3 Werte gelesen
    und in ner HTML-Table ausgegeben. In dieser Table wird außerdem noch ein inputfeld
    angezeigt und später manuell gefüllt.

    Anschließend möchte ich diese Werte wieder "aus der Tabelle lesen" und zusammen mit
    dem eingegebenen Wert in Tabelle 2 schreiben.

    Problem dabei is, dass die Länge der Table, also die Anzahl der DS aus Tabelle 1 variable
    is. Sie kann also mal 5 enthalten, mal 50.. oder irgend einen anderen Wert.

    Zum auslesen muss ich vermutlich die Werte in der Tabelle auch in inputfelder schreiben
    und mit entsprechenden namen versehen (kann ich ja mit nem index durchnummerieren).
    Aber wie speicher ich die werte ? ich kann kaum 50 werte übergeben, oder ?

    *greetz*

  • hm, glaube so ganz verstehe ich noch nicht das problem/was du da machen willst.

    hidden-felder vielleicht, in die du die daten aus tabelle1 schreibst? und die anzahl der datensätze können ja auch in ein weiteres hiddenfeld.

    naja, wie gesagt, verstehe noch nicht ganz was da gemacht werden soll, vielleicht postest du da nochmal ein konkretes beispiel. :)

  • Da hat Jan_K recht.
    Entweder du machst es mit einem Formular und hidden-inputs (die Tabelle mit input-feldern zuzuballern sieht sicherlich icht so gut aus), oder du machst es mit javascript, so dass beim versenden des einen zusätzlichen inputs die Werte aus der HTML-Tabelle per Js noch mit geschickt werden.

    Gruß,
    Jojo


  • javascript geht wohl auch, ich versuche das aber immer zu vermeiden solange es irgendeine andere lösung gibt. es besteht ja immer noch die option, dass der besucher javascript deaktiviert hat.

  • javascript möcht ich lieber nicht machen.
    und des mit den hidden-felder.... naja, bei 50ds a 3 felder... 150 stück ?

    *grübl*.... ich könnt auch nur die id speichern, und dann später beim
    "neuspeichern" einfach die datensätz von tab1 in tab2 "kopiere" und
    dabei die eingegebenen werte ersetze. dann hätt ich nur 50 werte zum übergeben...

    :|


    edit: beispiel

    datenbank
    tab1 (quelle) -> felder: id - typ - bez
    tab2 (ziel) -> felder: id - typ - bez - anzahl

    html-table (gefüllt durch tab1)
    typ (textfeld) - bezeichnung (textfeld) - anzahl (input text)

    typ und bezeichnung wird aus tab1 genomen. anzahl schreib
    ich dann selber rein. bei klick auf "submit" solln dann die werte
    aus dieser html-table (typ, bezeichnung, anzahl) in tab2 geschrieben
    werden.

    so verständlich ? direktes beispiel kann ich leider net geben, da
    müsst ich dann erst die ganzen tabellen anlegen...

  • ja, die ids in hidden-feldern speichern sollte reichen.

    wieso möchtest du denn eigentlich doppelte datenhaltung betreiben? oder liegt tabelle2 in einer anderen datenbank als tabelle1? ansonsten reicht es ja auch in tabelle2 die id von tabelle1 zu speichern und halt die zusätzlichen attribute.

  • ne, des schon klar. mit ner while-schleife und nem index wird des
    schön durchnummeriert. is mir trotzdem bißchen "unsauber". die
    methode jetzt is zwar auch nicht die beste - aber das nur für den
    hausgebrauch is gehts scha :D