Einzelnen Beitrag anzeigen
  #18  
Alt 13.09.2007, 11:06:04
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: DropDown Probleme

Die Variable $bezeichner bezieht sich das Array, in dem ich die Spaltennamen platziert habe, um die Tabelle über eine kleine Schleife auszugeben. Die Zeilen der Tabelle sehen ja im Grunde alle gleich aus und somit muß man ja nicht zig mal hintereinander das Gleiche hinschreiben...

Du kannst das Array $bezeichner, wenn du es denn verwenden möchtest, auch weiter oben bilden, da wo $zeige_produkt erzeugt wird. Mit einer Schleife die Feldnamen aus dem Suchergebnis ziehen und $bezeichner zuweisen.

Statt die Elemente von $zeige_produkt (die die jeweiligen Daten des ausgewählten Elements beinhalten) direkt in eine Zelle zu schreiben, kannst du sie natürlich auf in das value-Attribut eines Input Feldes schreiben, um sie z.B. ändern zu können.

Auf den (neuen) Wert dieses Input-Feldes beziehst du dich nach dem Absenden über den Namen des Feldes (ohne Umlaute ;-) ) im $POST-Array.

Da du nicht ohne jede Prüfung einfach das in deine DB schreiben solltest, was ein Benutzer eingegeben hat, ist es völlig egal, wie die Inputfelder heißen. Es wär nur gut für dich (zum Verständnis) wenn sie sinnvolle Namen haben oder du notierst das Ganze so, dass du es als Array erhälst.

PHP-Code:

// Wenn ein Produkt gewählt wurde, zeige es in einer Tabelle 
if(isset($zeige_produkt)) 
    { 
        
$bezeichner=array('Produktnummer','Teilung','Frequenzbereich');  // usw. 
         
        
echo 
        <br>
        <form name="edit_form" method="post" action="produkt_aendern.php"> 
        <table>
        <input type="hidden" name="werte[]" value="'
.$_GET['produkt'].'">'
         
        for(
$z=0;$z<count($bezeichner);$z++) 
            { 
                echo 

                <tr> 
                <td>'
.$bezeichner[$z].'</td>
                <td><input type="text" name="werte[]" value="'
.$zeige_produkt[$z].'"></td> 
                </tr>'
;     
            } 
         
        echo 

        <input type="submit" value=" Änderungen speichern ">
        </table>
        </form>'

    } 
Nach dem Absenden befindet in der Variable $_POST['werte'] ein Array mit den (geänderten) Werten aus den Eingabefeldern des Formulars - wobei sich in Element 0 die Produktnummer befindet. Kannst du dir ja mal mit
print_r($_POST['werte']);
ansehen, was das kommt und wie...

Die Werte aus den Elementen von $_POST['werte'] werden in die jeweilige Spalte deiner DB geschrieben.

Geändert von Raketenmann (13.09.2007 um 11:07:52 Uhr) Grund: Da fehlte ein Anführungszeichen
Mit Zitat antworten