Ankündigung

Einklappen
Keine Ankündigung bisher.

DB-Inhalt in ComboBox eintragen

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • TribbleX
    hat ein Thema erstellt DB-Inhalt in ComboBox eintragen.

    DB-Inhalt in ComboBox eintragen

    Hallo an Alle,
    ich möchte gerne einen DB-Inhalt in eine ComboBox laden, aber die ComboBox bleibt leer.
    Vielleicht findet ja jemand meinen Fehler:

    PHP-Code:
    <?php
    $pdo 
    newPDO('mysql:host=localhost;dbname=test''root''');

    $email "";
    $statement $pdo->prepare("SELECT email FROM users");
    $statement->execute(array('email' => $email));

    while(
    $row $statement->fetch())
    {
        
    $email "<option value =".$row['email']." ></option>";
    }
    ?>
    <formmethod="POST">
    <select>
    <?php
    echo$email;
    ?>
    </select>
    </form>
    VG, T.

  • TribbleX
    antwortet
    Erstmal überträgt er mit dem Feld ja gar nichts, da es in keinem Formular ist. Ich denke das wird dann auch die nächste Frage sein.
    Ich wollte den Inhalt auch übertragen. Das funktioniert auch.

    Da aber dieser Teil:
    PHP-Code:
     $email "<option value =".$row['email']." ></option>"
    falsch war, und ich da durch mehr Fehler bekommen haben, wenn ich Code zwischen den Options geschrieben habe, habe ich ihn rausgenommen.

    Ich habe den Codeteil innerhalb der Option Value gelöscht.

    Man merkt es in letzter Zeit wieder deutlich, dass es vielen Leuten scheinbar zu viel Aufwand ist sogar kurze Texte zu lesen um das eigene Problem zu lösen.
    Guter Einwand - das Problem (für mich): Ob im Value was steht oder nicht, trägt in diesem Fall überhaupt nicht zur Lösung bei!!!
    Der Profi mag sich denken, was der Sch.... soll - der Anfänger wird vom eigentlichen Fehler in eine ganz andere Ecke geschickt.

    Ich habe gestern Abend und heute Morgen viele Stunden rumprobiert, bis ich meine Lösung gefunden habe, deswegen möchte ich mich auch dagegen verwehren,
    irgendwas geschenkt bekommen zu wollen oder dass ich mich nicht richtig anstrengen würde.

    Sonst war es ein guter Hinweis (Value) und auch den Tipp mit der user_id und der Eindeutigkeit werde ich beherzigen in der Zukunft.

    Viele Grüsse und ein schönes Wochenende, T.










    Einen Kommentar schreiben:


  • Alf2016
    antwortet
    Zitat von TribbleX Beitrag anzeigen
    Hallo,

    1. ich habe das nicht hinbekommen, den Wert zwischen den Tags zu übergeben. Ein Wert hat sich immer wiederholt.

    2. Die Übergabe der email ist belanglos. Das war nur ein Wert zum Test.

    3. Für den Code hatte ich den # Code benutzt. Das hat mir den Code zerrissen.

    4. Wenn es eine bessere Lösung gibt, als die Aktuelle, dann Alf2016 schreib sie mir doch einfach. Vielleicht wird ja dann doch noch ein guter Hobby-Programmierer aus mir.

    VG, T.
    Es geht nicht um die Lösung, vgl. #18. Dein Code ist abgesehen von den genannten Kritikpunkten (z.B. #17) ja i.O. Aber du hast aus "Lesefaulheit" immer noch nicht kapiert, was der Unterschied zwischen dem "value"-Attribut und dem Eintrag zwischen den Tags ist. Warum hast du z.B. die Email sowohl unter Value als auch im Eintrag eingesetzt? Wozu soll das gut sein?

    Melde dich bitte erst dann wieder, wenn du den Link gelesen hast.

    Einen Kommentar schreiben:


  • Alf2016
    antwortet
    Zitat von Zeichen32 Beitrag anzeigen

    Du solltest die Form Tags aus deinem ersten Post wieder hinzufügen und auch den Kontextwechsel beachten, sonst baust du dir eine Sicherheitslücke ein.
    https://php-de.github.io/jumpto/kontextwechsel/
    Uups, das war der falsche Ansprechpartner.

    Einen Kommentar schreiben:


  • Alf2016
    antwortet
    Zitat von Zeichen32 Beitrag anzeigen
    Erstmal überträgt er mit dem Feld ja gar nichts, da es in keinem Formular ist. Ich denke das wird dann auch die nächste Frage sein.

    Off-Topic:
    Meine Kritik mit dem Lesen des Artikels war schon berechtigt wie ich finde. Man merkt es in letzter Zeit wieder deutlich, dass es vielen Leuten scheinbar zu viel Aufwand ist sogar kurze Texte zu lesen um das eigene Problem zu lösen. Da wird dann lieber gewartet bis irgendjemand die passende Lösung postet. Man merkt das aber nicht nur in diesem Forum, sondern auch generell in der Gesellschaft. Da wird nicht mehr selber geschaut z.B. auf der Homepage eines Geschäfts ,wann dieses offen hat. Da wird dann lieber ein Facebook Post abgesetzt mit. "Hey Leute wie lange hat den Geschäft xyz geöffnet heute?".
    Das ist der springende Punkt. Allerdings sollte man sich darüber im Klaren sein, daß man über den bequemer erscheinenden Weg nicht viel lernt. Und wenn ich "lernen" schreibe, meine ich "lernen" und nicht "Wissen aufsaugen", "nachmachen können" usw. Wenn jemand was lernen will, sollte es nicht um Problem A, B, C gehen, sondern um 1. Grundlagen 2. Spezialisierung auf Teilgebieten, die bei Problem A, B, C... relevant sind 3. Anwendung in Übungsbeispielen 4. Anwendung auf Problem A, B, C...

    Aber das sehen hier ja tw. nicht einmal die sog. "Power-User" ein - wie sollen es dann die Fragesteller kapieren...?

    Einen Kommentar schreiben:


  • Zeichen32
    antwortet
    Zitat von TribbleX Beitrag anzeigen
    Hallo,

    1. ich habe das nicht hinbekommen, den Wert zwischen den Tags zu übergeben. Ein Wert hat sich immer wiederholt.

    2. Die Übergabe der email ist belanglos. Das war nur ein Wert zum Test.

    3. Für den Code hatte ich den # Code benutzt. Das hat mir den Code zerrissen.

    4. Wenn es eine bessere Lösung gibt, als die Aktuelle, dann Alf2016 schreib sie mir doch einfach. Vielleicht wird ja dann doch noch ein guter Hobby-Programmierer aus mir.

    VG, T.
    Du solltest die Form Tags aus deinem ersten Post wieder hinzufügen und auch den Kontextwechsel beachten, sonst baust du dir eine Sicherheitslücke ein.
    https://php-de.github.io/jumpto/kontextwechsel/

    Einen Kommentar schreiben:


  • Zeichen32
    antwortet
    Erstmal überträgt er mit dem Feld ja gar nichts, da es in keinem Formular ist. Ich denke das wird dann auch die nächste Frage sein.

    Off-Topic:
    Meine Kritik mit dem Lesen des Artikels war schon berechtigt wie ich finde. Man merkt es in letzter Zeit wieder deutlich, dass es vielen Leuten scheinbar zu viel Aufwand ist sogar kurze Texte zu lesen um das eigene Problem zu lösen. Da wird dann lieber gewartet bis irgendjemand die passende Lösung postet. Man merkt das aber nicht nur in diesem Forum, sondern auch generell in der Gesellschaft. Da wird nicht mehr selber geschaut z.B. auf der Homepage eines Geschäfts ,wann dieses offen hat. Da wird dann lieber ein Facebook Post abgesetzt mit. "Hey Leute wie lange hat den Geschäft xyz geöffnet heute?".

    Einen Kommentar schreiben:


  • TribbleX
    antwortet
    Hallo,

    1. ich habe das nicht hinbekommen, den Wert zwischen den Tags zu übergeben. Ein Wert hat sich immer wiederholt.

    2. Die Übergabe der email ist belanglos. Das war nur ein Wert zum Test.

    3. Für den Code hatte ich den # Code benutzt. Das hat mir den Code zerrissen.

    4. Wenn es eine bessere Lösung gibt, als die Aktuelle, dann Alf2016 schreib sie mir doch einfach. Vielleicht wird ja dann doch noch ein guter Hobby-Programmierer aus mir.

    VG, T.

    Einen Kommentar schreiben:


  • kaminbausatz
    antwortet
    Es ist zwar selten, aber in disem Fall muss ich Alf2016 schon recht geben, es ist ein Trugschluss zu glauben, dass ein eindeutiges Feld, wie bspw. eine E-Mail Adresse, auch tatsächlich eindeutig ist, spätestens wenn sich die E-Mail Adresse ändert ist eine Überprüfung erforderlich wo welche Beziehungen zu dieser Adresse bestehen usw.

    Allerdings wissen wir nicht, was er mit diesem Optionsfeld vor hat. Will er bspw. nur eine Nachricht an die im Optionsfeld dargestellte Adresse schicken, würde der Weg über die ID eine zusätzliche Datenbankabfrage erforderlich machen, deswegen ist jonas3344 Bemerkung im letzten Satz ebenfalls in Ordnung.

    Einen Kommentar schreiben:


  • Alf2016
    antwortet
    Zitat von jonas3344 Beitrag anzeigen
    Ach Alf, es ist doch absolut legitim sich die email weiterzugeben anstelle einer user-id oder was auch immer. Wenn er das so will darf er das und es spricht kaum was dagegen. Du weisst auch gar nicht was er anschliessend damit machen will.
    Wer lesen kann, ist klar im Vorteil. Gilt nicht nur für den TE. Unterstellen wir mal, daß du ihn gegen - deiner Meinung nach - ungerechtfertigte Kritik verteidigen möchtest. Einen Gefallen tust du ihm damit nicht. Erst recht dann nicht, wenn du durch Unaufmerksamkeit gar nicht merkst, worum es geht.

    Einen Kommentar schreiben:


  • jonas3344
    antwortet
    Ach Alf, es ist doch absolut legitim sich die email weiterzugeben anstelle einer user-id oder was auch immer. Wenn er das so will darf er das und es spricht kaum was dagegen. Du weisst auch gar nicht was er anschliessend damit machen will.

    Einen Kommentar schreiben:


  • Alf2016
    antwortet
    Zitat von TribbleX Beitrag anzeigen
    gelöst:

    PHP-Code:
    <?php
    ...
    Damit ist klar: Du hast den Unterschied zwischen dem "value"-Attribut und dem Eintrag zwischen den Tags immernoch nicht verstanden, obwohl du nur in der angegebenen Quelle hättest lesen müssen.

    Du fragst nach Rat, nimmst aber keinen Rat an. Du "beherzigst" ihn nicht, geschweige denn, daß du ihn befolgen würdest. So wird das nichts. Aus dir wird nicht einmal ein guter Hobby-Programmierer.

    Einen Kommentar schreiben:


  • TribbleX
    antwortet
    gelöst:

    PHP-Code:
    <?php  
    $hostname 
    "localhost";  
    $username "root";  
    $password "";  
    $databaseName "test";    

    $connect mysqli_connect($hostname$username$password$databaseName);  
    $query "SELECT email FROM `users`";  
    $result1 mysqli_query($connect$query);  ?>    
    <html>  
    <head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>    
    <body>  
    <select>  
    <?php while($row1 mysqli_fetch_array($result1)):;?>  
    <option value="<?php echo $row1[0];?>">
    <?php echo $row1[0];?></option>  <?php endwhile;?>  
    </select>  
    </body>
     </html>

    Einen Kommentar schreiben:


  • Alf2016
    antwortet
    Zitat von Zeichen32 Beitrag anzeigen

    Ganz ehrlich, hast du dir die Links angeschaut die ich dir gegeben habe?
    Du kannst mir doch nicht erzählen, dass du zwischen deinem Code und dem ersten Beispiel des Links keinen Unterschied siehst?!?

    HTML-Code:
    <option>Heino</option>
    vs:
    <option value ="test@example.org" ></option>
    Ich denke, er hat den Unterschied zwischen dem "value"-Attribut und dem, was zwischen öffnendem und schließenden Tag steht, nicht verstanden! Sonst hätte er mit Sicherheit auch oben nicht
    Code:
    SELECT email FROM users
    sondern etwas wie
    Code:
    SELECT user_id, email FROM users
    geschrieben.

    TribbleX
    Schau dir den Code in dem verlinkten Inhalt wirklich nochmal genau an und achte auf den Unterschied zwischen der Variante ohne "value"-Attribut und der mit.

    Einen Kommentar schreiben:


  • Zeichen32
    antwortet
    Zitat von TribbleX Beitrag anzeigen
    Hallo,
    wo ist denn der Fehler mit der Select-Box?
    Ganz ehrlich, hast du dir die Links angeschaut die ich dir gegeben habe?
    Du kannst mir doch nicht erzählen, dass du zwischen deinem Code und dem ersten Beispiel des Links keinen Unterschied siehst?!?

    HTML-Code:
    <option>Heino</option>
    vs:
    <option value ="test@example.org" ></option>

    Einen Kommentar schreiben:

Lädt...
X