tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
7858
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Armageddon Armageddon ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18
    Hallo ihr PHP-Worker

    Ich bin etwas fortgeschritten im Umgang mit PHP,doch nun bin ich wohl an meine Grenzen gestoßen.Ich habe es schon hinbekommen, das ich bei einer Tabelle dynamisch die Zeilen hinzufügen kann.
    JETZT MEINE FRAGE AN EUCH******

    Ich habe eine Zeile , die dank PHP immer wieder unten angefügt wird( mittels Couter und get). Aber in jeder Zeile soll ein <input name="" type="text"> erscheinen. Wenn ich jetzt also 10 Zeilen da stehen habe, sind die Variablen der Texte ja immer gleich. Wie kann ich das ändern! Bitte beachtet, das wenn ich eine Zeile neuhinzufüge, die Daten die in den alten Zeile schon stehen noch dableiben sollen!
    Ich füge diesem Hilfeschrei mal meinen Quellcode bei und hoffe das ihr mir helfen könnt******

    PHP-Code:
    <? session_start(); ?>
    <form action="<? php_self ?>" method="get">
    <? if($del)
        {
    $anzahl--;}
        elseif(
    $add)
        {
    $anzahl++;}
        echo 
    "$anzahl";
    ?>
    <table width="100%" border="1">
    <?
    for($table_zeile="1";$table_zeile<=$anzahl;$table_zeile++)
    {
    echo
    "
    <tr>
        <td align=\"center\" ><input name=\"uebung\" type=\"text\" id=\"uebung\" value=\"
    $uebung\" width=\"100%\"></td>
    </tr>
    "
    ;}
    ?>
    </table>
    <table width="100%" border="0">
    <tr>
        <td width="90%"align="right"colspan="2"><input name="del" type="submit" value="Übung entfernen"></td>
        <td width="10%"align="right"><input name="add" type="submit" value="Übung hinzuf&uuml;gen"></td>
    </tr>
    </table>
    </form>
    Geändert von Patrick Kamin (08.08.03 um 23:48 Uhr)
     

  2. #2
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Ich garantiere dir, dass es nicht die einfachstmögliche Form ist, aber folgender Grundgedanke sollte dich weiterbringen:
    PHP-Code:
    <? session_start(); ?>
    <form action="<? php_self ?>" method="get">
    <? if($del)
    {
    $anzahl--;}
    elseif(
    $add)
    {
    $anzahl++;}
    echo 
    "$anzahl";

    $prefix "uebung";

    $uebung1 "1";
    $uebung2 "2";
    $uebung3 "3";
    $uebung4 "4";
    $uebung5 "5";
    $uebung6 "6";
    $uebung7 "7";
    $uebung8 "8";
    $uebung9 "9";
    $uebung10 "10";

    ?>
    <table width="100%" border="1">
    <?
    for($table_zeile=1;$table_zeile<=$anzahl;$table_zeile++) {
        
    $temp $prefix $table_zeile;
    ?>
    <tr>
      <td align="center" ><input name="uebung" type="text" id="uebung" value="<?=$$temp?>" width="100%"></td>
    </tr>
    <?
    }
    ?>
    </table>
    <table width="100%" border="0">
    <tr>
    <td width="90%"align="right"colspan="2"><input name="del" type="submit" value="Übung entfernen"></td>
    <td width="10%"align="right"><input name="add" type="submit" value="Übung hinzufügen"></td>
    </tr>
    </table>
    </form>
    hth,
    Geist
     

  3. #3
    Armageddon Armageddon ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18
    Danke erstmal für deine schnelle Antwort. Dennoch muss ich dich leider entäuschen. Eine so ähnliche Variante habe ich auch schon einmal durchgespielt. Mir geht es ja darum, das ich in zeile 1 einen Wert eintragen kann, denn eine Zeile hinzufüge ABER DER WERT IN ZEILE 1 IMMER NOCH DA IST******Ich kann also keine festen Variablen nehmen! Ich komme immer wieder in den Konflikt, das ich eine neue Variable bestimmen muss, der einen neuen Wert hinzufüge und sie denn anschließend wieder ausgebe. Ich bin Trainer beim TSV 1860 Stralsund im Bereich Gewichtheben. Mein Ziel ist es, einen Trainingsplan für meine Sportler zu entwerfen.


    PS: Ich habe gesehen,das ich ein Fehler gemacht habe. Natürlich muss ich noch ein auf

    <?
    session_register ("anzahl");
    ?>

    machen!
     

  4. #4
    Registriert seit
    Nov 2002
    Ort
    Altdorf bei Nürnberg
    Beiträge
    3.027
    Ich versteh dein Problem nicht ganz.
    Das was ich versteh:
    Einen Trainingsplan für Sportler zu entwerfen.
    Was soll dan diese Seite werden? Die eingabemaske?
    Ich hoffe du bist dir im klaren, dass die Daten ja auch irgendwie gespeichert werden müssen, sei es in einer Datei, oder in einer Datenbank.

    Nun, was brauchst du?
    Eine Eingabemaske?
    Kannst dun dasProblem bitte etwas genauer erklären?


    //Edit: Kleine Anmerkung:
    Versuch mal für register_globals=off zu programmieren und vermeide sessio_register, sondern nehm gleich das Array _SESSION
     

  5. #5
    Armageddon Armageddon ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18
    Ja klar muss das eine Eingabemaske werden.
    Wenn denn alle Werte eingegeben sind, werden sie als Text noch einmal wiedergegben und denn in eine Datenbank gespeichert!
    Das Prinzip hast du schon Verstanden, es soll also getreu dem EVA Prinzip ablaufen ( Eingabe Verarbeitung Ausgabe) und da mann ja nunmal net mit den Ende anfängt soll jetzt er einmal ne seite kommen, wo die gesamten Daten eingetragen werden können.
    Ich hoffe du kannst mir weiter helfen!
     

  6. #6
    Registriert seit
    Aug 2002
    Ort
    Hessen
    Beiträge
    693
    also irgendwie kann ich dein Problem auch nicht ganz nachvollziehen...
    willst du quasi dynamisch eine bestimmte Anzahl an Inputs (jedes mit eigenem Wert / eigener Bezeichnung) erstellen?!
    Dafür würde ich mit Arrays arbeiten...
    So brauchst du quasi nur eine Variable / ein Arry, das gleich mehrere Werte annehmen kann, ohne, dass die anderen Werte verlorgen gehen.
    Beispielsweise wird der Wert des 1. Inputs in $array[0] gespeichert, der des 2. in $array[1] etc.
    Danach einfach die Werte des Arrays zählen und mit ner FOR-Schleife alles nacheinander ausgeben lassen.

    Sorry, wenn ich den Kern deiner Frage jetzt nicht getroffen habe, aber vielleicht könntest du das Ganze nochmal in einem Stück und detailliert darstellen
     
    "... the KKK took my baby away ..."

  7. #7
    Armageddon Armageddon ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18
    Ich habe leider noch nie zuvor mit arrys gearbeitet. Könnte vieleicht einer mir denn mal das zeigen wie das aussehen würde?
    Also hier noch einmal die Fakten:
    -eine Tabelle
    -dynamische Zeilen hinzufügung
    -in jeder zeile kommen ca 8 textfelder
    -jedes textfeld muss später wieder ausgegeben werden können
    -sprich die eingetragenen Werte müssen gespeichert werden.

    Probleme:

    -wenn ich die zeile2 hinzufüge,haben die textfelder die gleichen variablennamen wie in zeile1

    So ich hoffe ihr habts jetzt etwas besser verstanden und könnt mir helfen****** Bitte******
     

  8. #8
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    ich geselle mich mal zu den Leuten die es nicht verstehen warum du erst Daten sammelst um sie dann in ein DB zu speichern ... am einfachtsten ist es doch
    das zu kombinieren -
    sprich 1 daten satz eingeben - in DB Speichern, anzeigen der bisher eingegebenen daten und das widerholen.

    --------

    Aber auch so wie du es vorhast geht es

    PHP-Code:
    $wertin $_GET['wertin'];

    echo 
    "<form>";
    for (
    $lo=0;$lo<sizeof($wertin);$lo++) {
     echo 
    "<input type=text name='wertin[]' value='".$wertin[$lo]."'>\n"
    }
    echo 
    "<input type=text name='wertin[]'>";
    # der trick sind die eckigen klammern damit machst du ein array
    echo "</form>"
     

Ähnliche Themen

  1. dynamisch PDF erzeugen?
    Von Admi im Forum PHP
    Antworten: 12
    Letzter Beitrag: 28.04.06, 00:30
  2. XLS mit PHP dynamisch erzeugen?
    Von TXC -Freak im Forum PHP
    Antworten: 17
    Letzter Beitrag: 31.07.05, 14:51
  3. DataGrid dynamisch erzeugen
    Von AndreBrueck im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 08.11.04, 10:09
  4. Spaltenbreite einer Tabelle dynamisch erzeugen
    Von x12x13 im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 11.09.02, 20:13