rows in <option> zetten

Status
Niet open voor verdere reacties.

pkuipers

Gebruiker
Lid geworden
8 jul 2014
Berichten
97
Hallo,

ik ben aan het proberen om enkele gegevens uit een database in een listbox te plaatsen.
Code:
$connect1 = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$query1 = "SELECT ID, post_hond, post_naam FROM klanten";
<select>
    <option selected="selected">Kies de hond</option>
    <?php
    if($result1 = mysqli_query($connect1, $query1)) {
        while($row = $result1->fetch_row()) {
            ?><option value="<?php printf("%s (%s)\n",$row[0], $row[1]);?>"></option>
        <?php
        }
    }
    ?>
</select>

Als ik de printf functie gebruikt dat worden alle gegevens getoond, maar het lukt mij niet om ze in de listbox te zetten? Wat doe ik fout en/of vergeet ik te doen?

Alvast bedankt en groet,

Peter
 
Laatst bewerkt door een moderator:
Wat is de output nu?
 
Maar in HTML?
Dat lijkt me juist het belangrijkst. In een afbeelding kan ik niet rondklikken. ;-)
 
Werkt jouw code op deze manier
Code:
<?php
$connect1 = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$query1   = "SELECT ID, post_hond, post_naam FROM klanten";
$result1  = $connect1->query($query1);
if ($result1->num_rows > 0) {
?>

    <select>
        <option value="" selected="selected">Kies de hond</option>
        <?php
        while ($row = $result1->fetch_assoc()) {
        ?>
            <option value="<?php printf('%s (%s)\n', $row[0], $row[1]) ?>">
            <?php printf('%s (%s)\n', $row[0], $row[1]) ?> </option>
        <?php
        }
        ?>
    </select>

<?php
} else {
    // Geen resultaat gevonden.
}
?>
 
@Bron: Dan zul je met fetch_assoc() geen genummerde indexen hebben.
 
Ah, klopt. Dan de naam in de while loop gebruiken dan is duidelijk wat het is zoals $row["post_hond"]
 
Laatst bewerkt:
Heren,
dit heb ik toch nog gevonden en dit werkt.
Code:
       <select name="Category" id="Category">
            <?php
              while ($category=mysqli_fetch_array($result1,MYSQLI_ASSOC)) :;
              ?>
              <option value="<?php echo $category["ID"];
              ?>">
              <?php echo $category["ID"];
              ?>
              <?php echo $category["post_naam"];
              ?>
              <?php echo $category["post_hond"];
              ?>
              </option>
              <?php
              endwhile;
              ?>
        </select>
Nu krijg ik een listbox, zie foto: 2022-04-12.png mijn vraag is nu hoe ik deze $_POST['category'] splits?
 
Je hoeft niet steeds PHP te openen en te sluiten voor een andere variabele.;)

Maar wat bedoel je met: 'splitsen' ?
 
De code met al die <?php 'tjes erin is hetzelfde als dit
Code:
<select name="Category" id="Category">
<?php
while ($category = mysqli_fetch_array($result1, MYSQLI_ASSOC)):
  echo '<option value="' . $category["ID"] . '">';
  echo $category["ID"] . $category["post_naam"] . $category["post_hond"];
  echo '</option>';
endwhile;
?>
</select>

Misschien wil je een spatie tussen alle variabelen op regel 5.

echo $category["__"] . " " . $category["__"] . " " . $category["__"];
 
Je hoeft niet steeds PHP te openen en te sluiten voor een andere variabele.;)

Maar wat bedoel je met: 'splitsen' ?

Geef $_POST['category'] "12 Eenhoorn, Evelien Milka" zoals op de afbeelding? Dan wil ik deze drie gegevens apart hebben bijv. $_nr=12, $_naam=Eenhoorn, Evelien en $_hondnaam=Milka. is dit mogelijk?
 
Geef $_POST['category'] "12 Eenhoorn, Evelien Milka" zoals op de afbeelding? Dan wil ik deze drie gegevens apart hebben bijv. $_nr=12, $_naam=Eenhoorn, Evelien en $_hondnaam=Milka. is dit mogelijk?

Wat @Bron dus zegt, lijkt me.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan