2016-04-26 4 views
0

Ich habe Probleme mit diesem Codeabschnitt und hoffe, dass jemand mich in die richtige Richtung weisen kann?Wie macht man Optionsgruppe dynamisch in PHP?

Derzeit sind die Optionen hart codiert, aber ich möchte die Auswahl dynamisch machen, da ich möchte, dass der Benutzer später seine eigenen Ordner erstellen kann.

Das System funktioniert im Moment gut, aber ich brauche nur diesen letzten Teil, um dynamisch zu sein, damit ich glücklich damit bin. Ich möchte die Galerieoptionen in der Datenbank durchgehen, anstatt sie hart zu codieren.

Fest codiert Optionen:

$photo_form = '<form id="photo_form" enctype="multipart/form-data" method="post" action="php_parsers/photo_system.php">'; 
$photo_form .= '<b>Choose Gallery:</b> '; 
$photo_form .= '<select name="gallery" required>'; 
$photo_form .=  '<option value=""></option>'; 
$photo_form .=  '<option value="Myself">Myself</option>'; 
$photo_form .=  '<option value="Family">Family</option>'; 
$photo_form .=  '<option value="Pets">Pets</option>'; 
$photo_form .=  '<option value="Friends">Friends</option>'; 
$photo_form .=  '<option value="Random">Random</option>'; 
$photo_form .= '</select>'; 
$photo_form .= ' &nbsp; &nbsp; &nbsp; <b>Choose Photo:</b> '; 
$photo_form .= '<input type="file" name="photo" accept="image/*" required>'; 
$photo_form .= '<p><input type="submit" value="Upload Photo Now"></p>'; 
$photo_form .= '</form>'; 

Mein Versuch, die Optionen dynamisch zu machen, Looping:

$photo_form = '<select name="gallery">' 
       <?php 
        $query = mysqli_query($dbc, "SELECT gal_id, name FROM galleries"); 
        while ($run = mysqli_fetch_array($query)){ 
         $album_id = $run['gal_id']; 
         $album_name = $run['name']; 
         echo "<option value='$album_id'>$album_name</option>"; 
        } 
       ?> 

Ich kann es egal, nicht zu arbeiten, was ich tue, Kann jemand helfen?

+3

Erhalten Sie irgendwelche Fehler? Sie überprüfen nicht, ob die Abfrage erfolgreich war, das ist eine sehr schlechte Idee. –

+1

** WIE ** funktioniert dieser Code nicht? –

+0

Warum haben Sie in Ihrem PHP-Code noch ein PHP-öffnendes Tag? Sie haben das 'select' Tag nicht gechannelt und plötzlich fangen Sie an, die Optionen zu wiederholen. – frz3993

Antwort

1
<?php 
$photo_form .= '<select name="gallery">';   
if ($query = mysqli_query($dbc, "SELECT gal_id, name FROM galleries")) 
{ 
    while ($run = mysqli_fetch_array($query)){ 
     $album_id = $run['gal_id']; 
     $album_name = $run['name']; 
     $photo_form .= "<option value='$album_id'>$album_name</option>"; 
    } 
} 
else { 
    error_log(mysqli_error(), 0); 

    $photo_form .= '<option>No Records</option>'; 
} 
$photo_form .= '</select>' 
echo $photo_form; 
?> 
+0

Sie sollten ihm nicht beibringen, nicht zu überprüfen, ob die Abfrage erfolgreich war. –

+0

Ihr Recht, ich habe es bearbeitet. –

+0

Ich hoffe, es war nur ein Witz. Sie haben gerade eine andere Funktion hinzugefügt, die mit einer Ergebnismenge arbeitet. Wenn die Abfrage jedoch nicht erfolgreich ist, erhalten Sie keine Ergebnismenge, sondern stattdessen "false", sodass Sie einen Fehler erhalten. Lass mich es bearbeiten. –

Verwandte Themen