PHP SQL auslesen von daten

  • Hallo,
    ich hab mit hilfe von implode mehrere werte in eine Spalte eingetragen.
    In der Spalte Name die werte 1, 2, 3 abgespeichert.
    Nun möchte ich dies aber auslesen und weiß aber nicht wie das gehn soll


    Hoffe ihr könnt mir da weiter helfen

  • Also wenn ich das so mache

    PHP
    <select multiple class="form-control" size="5" name="add_kkty[]">
    							<?php
    								$array = explode ( ',', $row['tbkkty'] );
    								for ( $x = 0; $x < count ( $array ); $x++ ){
    								extract($zeile);
    								// echo "<option value='".$row[5]."'";
    								// if($row[5] == $array){echo "selected";}
    								echo "<option>".$array[$x]."</option>\n";}
    							?>
    </select>


    Bekomme ich nur ein Feld und ich find den Fehler einfach nicht



    Edit:
    habs mitlerweile geschaft, die IDs was abgespeichert wurden in der Auswahlliste anzuzeigen.
    Aber das es den eigentlichen namen anzeigt, leider noch nicht.

  • wolf ya.Würde dann aber json nutzen (war da nicht mal irgendwas was serlialize nicht "kann", oder n bug?).
    Ansonsten ENUM oder ne Details Table.
    Oder, wenn es die Version erlaubt, mysql json: https://dev.mysql.com/doc/refman/5.7/en/json.html
    (hab ich selbst noch nicht ausprobiert, sieht aber gut aus)


    Germanikus
    Evtl hast Du den falschen Trenner:

    PHP
    explode ( ',', $row['tbkkty'] )


    Wenn Du implode mit ', ' (Komman Leerzeichen) nutzt, dann soltest Du auch diesen Trenner bei explode nutzen.

  • Was ist denn (jetzt noch) das Problem?
    Bei einem Select-Imput-Feld Kannst Du den angezeigten Namen, und den Schlüssel (key) als <option> angeben.


    Evtl hast Du keine key-name Kombination, da Du ja schreibst, dass Du "1, 2, 3" in der Tabelle in einem Feld anlegst.
    Wenn es keine weiteren Daten gibt, dann könntest Du eine key-key Kombi nutzen

    HTML
    <option value="key">key</option>
  • So sieht das momentan aus mit dem Code


    So hab nun fast 3 Std. lang rum gedoktort und im Inet rumgeschaut .
    Aber ich finde da nicht viel.
    Meine Code gibt nur das an, was ihr im Bild zu sehen ist.
    Die erste Auswahl ist die richtige.
    Aber der rest stimmt von hinten und vorne nicht und ich komme auf die blöde lösung nicht.
    Habe schon versucht mit dem Arrey in eine String zu stecken aber das geht auch nicht.


    Bitte schreibt mir den richtigen Code rein.
    Bitte x100000


    PHP
    <select multiple class="form-control" size="7" name="add_kkty">
    							<?php
    								$array = explode ( ',', $row['tbkkty'] );
    								for ( $x = 0; $x < count ( $array ); $x++ ){
    								echo "<option value='".$array[$x]."'";
    								// if($row['tbktnd'] == $array){echo "selected";}
    								echo ">".$array[$x]."-".$row['tbktid']."-".$row['tbktnd']."</option>\n";}
    							?>
    </select>
  • Ich weiß, was Du falsch machst. Mit Deinen seltsamen Abkürzungen wie zB tbktid komme ich gerade nicht klar.
    siehe comments:

    HTML
    <select multiple class="form-control" size="7" name="add_kkty">
                                <?php
                                    $array = explode ( ',', $row['tbkkty'] );
                                    for ( $x = 0; $x < count ( $array ); $x++ ){
                                    echo "<option value='".$array[$x]."'"; // hier holst du jeden x-ten wert
                                    // if($row['tbktnd'] == $array){echo "selected";} 
                                    echo ">".$array[$x]."-".$row['tbktid']."-".$row['tbktnd']."</option>\n";} // hier gibst du immer den gleichen wert für tbktid und tbktnd aus
                                ?>
    </select>


    Normalerweise hat/holt/lädt man Daten in einem Array/Object
    und geht dann "foreach" durch.
    Dabei hast du einen Key und eine Value.


    Nun hast Du ja aber Dein "1,2,3" Datenbankfeld. Wie/Woher kommt denn da nun die Value - also der Name zum Schlüssel?


    Wie gesagt - keine Ahnung, was alle Deine Werte bedeuten.

  • Sory den query vergessen


    Edit:
    Also ich möchte alt die werte was ich mit Explodet geteilt habe in den namen wieder verwandeln (das ist $row['tbktnd'])

  • Also dein Problem ist einfach das du nicht beide sachen in einem select darstellen kannst?


    Bitte mal die Ausgabe posten


    Nicht mehr und nicht weniger, nur das was da raus kommt ist erstmal wichtig
    Deine komischen abkürzbugen sind nämlich wie cottton schon sagte unverständlich.. x.x

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!