PHP-Entwicklung

PHP-Entwicklung

Posts 1-10 of 17
  • Alexander Egert
    Alexander Egert
    The company name is only visible to registered members.
    Problem Datenübergabe Optionfield und Tabellenwerte
    Hallo an Alle...

    Ich habe ein kleines Problem.

    Ich habe mir eine Liste von Usern ausgelesen und hinter jeden User
    ein Option-Field gemacht mit zwei Werten.
    Aktiv und Inaktiv und möchte dann deren Status on the fly in der
    Datenbank ändern und speichern.

    Jetzt habe ich das Problem wenn ich die Daten dann ein mein
    Auswertungsskript übergebe bekomme ich im Array nur den Status
    geliefert nicht aber die ID des Datensatzes, somit weiß ich also
    nicht welcher Datensatz sich ändert.

    Hier mein Code bislang:

    $db = new DatabaseConnection();
    $result = $db->getSelect("Select mpos, name, vorname, land,
    wert1, wert2, wert3, wert4, wert5 from User");

    while ($row = mysql_fetch_array($result)) {

    echo "<table>";
    echo "<td><select name='test[]'>";
    echo "<tr><td>".$row['mpos']."</td>";
    echo "<td>".$row['name']."</td>";
    echo "<td>".$row['vorname']."</td>";
    echo "<td>".$row['land']."</td>";
    echo "<td>".$row['Wert1']."</td>";
    echo "<td>".$row['Wert2']."</td>";
    echo "<td>".$row['Wert3']."</td>";
    echo "<td>".$row['Wert4']."</td>";
    echo "<td>".$row['Wert5']."</td>";

    echo "<option value=0>Aktiv</option>";
    echo "<option value=1>Inaktiv</option>></select></td>";

    echo "</tr>";
    echo "</table>";

    }
    echo "<Form method ='post' action='auswertung.php'>";
    echo "<input type='submit' name='submit' value='Senden'
    class='button''>";
    echo "</form>";



    Auswertung.php ist dann so:

    <?php

    error_reporting(E_ALL);
    echo "<pre>";
    print_r($_GET);
    echo "</pre>";

    $training=$_GET["test"];
    echo "$test";

    foreach ($test as $wert) {
    echo "Der Wert ist ".$wert."<br />\n";
    }


    ?>


    Somit erhalte ich nur die Daten aus meinen Optionsfeldern. Wie kann
    ich denn nun die Infos des Users mit übergeben um das Update in der
    DB zu machen??

    Vielen Dank schon mal...
  • User photo
    Andreas Neugebauer
    (not a XING member)
    Re: Problem Datenübergabe Optionfield und Tabellenwerte
    Hallo zurück,

    also, erstmal würde ich u.U. in Erwägung ziehen, den einzelnen <option>-Feldern eine ID oder einen Namen zu vergeben, der ja u.U. auf die User-ID referenzieren könnte. Am einfachsten kann man dann die Werte mit einem AJAX-Tool, wie z.B. XAJAX in PHP abfragen.

    Und das der HTML-Code diverse Fehler enthält, das wird der Validator ja auch bemängeln.

    bis dann

    Andreas Neugebauer
  • Alexander Egert
    Alexander Egert
    The company name is only visible to registered members.
    Re^2: Problem Datenübergabe Optionfield und Tabellenwerte
    das Problem sind ja nicht meine Optionfelder an sich...
    Ich habe ein Ergebnis hieraus...

    Array
    (
    [test] => Array
    (
    [0] => 1
    [1] => 0
    )

    [submit] => Senden
    )

    Array

    Der Wert ist 1
    Der Wert ist 0

    Mein Problem ist wie erhalte ich die Userwerte dann mit aus meinem Formular?
    Mit Ajax würde ich die Werte dann direkt beim ändern des Wertes im Optionsfeld in die DB schreiben???

    Fehler HTML??? Ausser ein paar Tabellen habe ich doch nix großartig... Ist die Tabelle etwa schon falsch???
    This post was modified on 28 Dec 2007 at 11:31 am.
  • Post visible to registered members
  • Alexander Egert
    Alexander Egert
    The company name is only visible to registered members.
    Re^4: Problem Datenübergabe Optionfield und Tabellenwerte
    ja ich habe rumprobiert und vergessen den Post und GEt wieder herzustellen...

    kannst Du mir ein Beispiel geben wie es aussehen kann??? Ich verstehe das nicht so ganz wie das funktionieren sollte im Form...

    Danke für die Mühen...
  • User photo
    Andreas Neugebauer
    (not a XING member)
    Re^5: Problem Datenübergabe Optionfield und Tabellenwerte
    Also,

    erstmal kann man ja der <option> auch andere Werte als "0" und "1" geben, und dann kann man z.B. in XAJAX mit z.B. $_GET['OPTIONNAME'] den Wert erfahren. das hat mir bisher immer geholfen.

    bis dann



    Andreas
  • Dr. Jochen Walker
    Dr. Jochen Walker    Premium Member
    The company name is only visible to registered members.
    Re^5: Problem Datenübergabe Optionfield und Tabellenwerte
    Hallo,

    eine Möglichkeit wäre zB an die Value Werte in dden Option Tags die ID anzuhängen mit einem festen Trennzeichen.
    Dann kann man auf der Auswertungs Seite mit dem split Befehl den Wert wieder auseinander bauen.

    zB
    echo "<option value='".$id."_0'>Aktiv</option>";

    dann nach der Übergabe auf der nächsten Seite:

    $optValues = split( "_" , $postOptionValue);

    dann enthält $optValues[0] die Idee und $optValues[1] den Value für den Status (aktiv oder inaktiv)

    Grüsse
    Jochen
    This post was modified on 28 Dec 2007 at 12:07 pm.
  • Alexander Egert
    Alexander Egert
    The company name is only visible to registered members.
    Re^6: Problem Datenübergabe Optionfield und Tabellenwerte
    Hallo Jochen,

    dass heißt ich brauche dann im Form nicht mehr zu identifizieren welcher Datensatz das ist...
    Klingt logisch und teste ich mal aus...

    Falls es nicht klappt weiß ich ja wo ich euch finde ;-))))


    Danke Danke Danke...
  • Nicole Cordes
    Nicole Cordes    Group moderator
    The company name is only visible to registered members.
    Re^7: Problem Datenübergabe Optionfield und Tabellenwerte
    Hallo,

    warum so schwierig?! Es gibt doch für jeden User eine eigene Selctbox?! Dann einfach in den Namen dieser noch die Id mitgeben, also <select name="test[id]"></select>

    Dann kannst du bei der Auswertung das Array 'test' zum beispiel mit foreach durchlaufen und erhälst aus dem Key die Id des Datensatzes.

    Liebe Grüße,
    Nicole
  • Post visible to registered members