tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
5144
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Nov 2006
    Beiträge
    9
    Es geht um folgenden Beitrag:
    http://www.tutorials.de/forum/javasc...weitern-2.html

    Soo ... ich kann eigentlich nur ein bissel PHP allerdings habe ich von Java absolut null plan. Es geht bei mir darum, ich bastele an einem Online Programm, womit ich Artikel aus einer Datenbank untereinander auflisten kann, so viele wie ich möchte. Und das alles via Formular verarbeiten. Die DAtei sieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    
    <script type="text/javascript">
    <!--
    function clone_this(objButton)
    {
    if(objButton.parentNode)
    {
    tmpNode=objButton.parentNode.cloneNode(true);
    objButton.form.appendChild(tmpNode);
    for(j=0;j<objButton.form.lastChild.childNodes.length;++j)
    {
    if(objButton.form.lastChild.childNodes[j].type=='text')
    {
    objButton.form.lastChild.childNodes[j].value='';
    break;
    }
    }
    objButton.value="entfernen";
    objButton.onclick=new Function('f1','this.form.removeChild(this.parentNode)');
    }
    }
    //-->
    </script>
     
     
    </head>
    <body>
     
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
     
    <input type="submit" name="submit" value="send">
     
    <?php
    include("../zugriff.inc.php");
    $sqlsuche = "SELECT * FROM artikel ORDER BY name";
    $resultsuche = mysql_query($sqlsuche);
     
    echo "<div>";
    echo "Artikel: <select name='textfeldname[]'>";
    echo "<option value='Artikel'>Artikel</option>";
    while ($rowsuche = mysql_fetch_assoc($resultsuche))
    {
    echo "<option value='$rowsuche[name]'>$rowsuche[name]</option>";
    }
    echo "</select>";
    echo "<input type='button' value='noch ein feld' onclick='clone_this(this)'>";
    echo "</div>";
    mysql_close();
    ?>
    </form>
     
    <?php
    if (!empty($_POST["submit"]))
    {
    include("../zugriff.inc.php");
    include("../daten.inc.php");
     
    echo "Das wurde ausgewählt: " . $_POST['textfeldname[]'];
    ...

    Sooo .... hinter dem "Das wurde ausgewählt" steht leider nix
    Da ist meine Frage, wie kann ich drauf zugreifen und vor allem, wenn ich sagen wir mal 6 Felder ergänzt habe, dann habe ich ja insgesamt 7 Felder ... wie komme ich an die menge (Zahl 7) dran und wie kann ich auf die 7 Felder im einzelnen zugreifen?
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Lasse mal die Klammern weg hinter dem Namen, diese gehören aus PHP-Sicht nicht zum Namen, sondern bewirken lediglich, dass die Formularfelder als Array übermittelt werden.

    Die Anzahl der übermittelten Felder erfährst du über
    Code :
    1
    
    count($_POST['textfeldname']);
     

  3. #3
    Registriert seit
    Nov 2006
    Beiträge
    9
    Hi, erstmal danke für die schnelle Antwort.

    Also so sieht die Zeile nun aus:

    Code :
    1
    2
    
         echo count($_POST['textfeldname']);
         echo "<br><br>Das wurde ausgewählt: " . $_POST['textfeldname'];

    Und das kommt als Ergebniss (Habe nur 1 Ausgewählt):

    1

    Das wurde ausgewählt: Array

    Also das mit dem zählen klappt *freu*

    Nur das mit dem Zugriff auf den Datensatz nicht.
    Also bei der Eingabe wird ja beim "select" bei der "option" der value übermittelt, muß ich da sowas wie .name oder so dranhängen? oder wie geht das genau?
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    da ein Array übermittelt wurde, musst du seine Elemente auch entsprechend ansprechen:

    PHP-Code:
    foreach($_POST['textfeldname'] as $key => $value)
      {
        echo (
    $key+1).'.)'.$value.'<br>';
      } 
     

  5. #5
    Registriert seit
    Nov 2006
    Beiträge
    9
    Ahhh ... nun klappt es. über die for schleife geht das ja richtig elegant
    Nachdem ich das nun laß, hatte ich auch noch ne idee, das habe ich nun auch mal probiert, geht auch, sind aber um einiges mehr zeilen code....
    Ich dachte erst an: echo "ausgewählt: " . $textfeldname[0] . "<br>"; und das ganze in schleife wo ich vorher über count ne zeile machen wollte....

    Naja, ich bin nun echt happy, dass es nun klappt und sage nochmal diesem Forum DANKE !!

    So schnell und vor allem gut wie mir hier geholfen wurde, habe ich es bislang nirgends erlebt. bei selfhtml im forum, bekommt man ja wenn überhaupt nur naja bemerkungen ...
     

Ähnliche Themen

  1. Dynamisches Formular
    Von ropueh im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 29.09.09, 10:43
  2. dynamisches Formular
    Von psychomama im Forum .NET Café
    Antworten: 5
    Letzter Beitrag: 09.10.08, 11:22
  3. Dynamisches Formular
    Von dpeter im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 12.05.07, 14:30
  4. Dynamisches Formular
    Von Y05h1 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 14.06.05, 20:11
  5. dynamisches formular mit PHP und JavaScript
    Von RoninRobert im Forum PHP
    Antworten: 5
    Letzter Beitrag: 23.12.03, 21:17