2017-10-08 3 views
0

Ich versuche Checkbox auf Wert aus der Datenbank erhält bereits eingeführt wählen basierend implodieren mit so eingefügt wird der Wert in der Datenbank mit Separator, aber wenn ich mit ausgewähltem Wert zeige Form wählt er nichtschechbox geprüft, ob Wert in der Datenbank vorhanden ist

//getting from DB 
$moteur=$row['moteur']; 
$moteur= explode(",",$moteur); 

try to select 

<th> <input type="checkbox" name="moteur[]" value="Vidange" 
<?php 
$count=count($moteur); 
for($i=0;$i<$count;$i++) 
echo ($moteur[$i]=='Vidange' ? 'checked' : 'disabled'); ?> > 

     </th> 
<th> <input type="checkbox" name="moteur[]" value="nv" 
<?php 
for($i=0;$i<$count;$i++) 
echo ($moteur[$i]=='nv' ? 'checked' : 'disabled'); ?> > 

      </th> 
<th> <input type="checkbox" name="moteur[]" value="remplace" 
<?php 
for($i=0;$i<$count;$i++) 
echo ($moteur[$i]=='remplace' ? 'checked' : 'disabled'); ?> > 
     </th> 
<th> <input type="checkbox" name="moteur[]" value="nettoye" 
<?php 
for($i=0;$i<$count;$i++) 
echo ($moteur[$i]=='nettoye' ? 'checked' : 'disabled'); ?> > 



     </th> 
<th> <input type="checkbox" name="moteur[]" value="effectue" 

<?php 
for($i=0;$i<$count;$i++) 

echo ($moteur[$i]=='effectue' ? 'checked' : 'disabled'); ?> >  </th> 
<th> <input type="checkbox" name="moteur[]" value="controle" 
<?php 
for($i=0;$i<$count;$i++) 
echo ($moteur[$i]=='controle' ? 'checked' : 'disabled'); ?> >  
     </th> 
+0

Können Sie den Code aufzuräumen, damit es besser lesbar ist? –

+0

versuchen var_dump ($ moteur); und überprüfen Sie, welche Art von Werten erhalten und korrigieren Sie entsprechend –

+0

was $ moteur enthält. Möchten Sie Checkboxen auf der Basis von $ moteur erstellen? –

Antwort

0

Checkbox-Werte werden als 1 oder 0 gespeichert (es sei denn, Sie haben dies manuell geändert). Sie vergleichen mit dem Wert, den Sie selbst gesetzt haben. Dies wird nicht funktionieren.

Ich kann nicht aus diesem Snippet erkennen, wenn Sie die Formulardaten vor dem Speichern manipulieren, vorausgesetzt, Sie haben es nie erwähnt, würde ich nicht annehmen.

Vergleichen Sie den Namen der Eingabe mit den Werten 1 oder 0, um den Status "checked" zu aktivieren.

0

was bin ich verstehe Ihre Frage, versuchen Sie diese einfache Code-Schnipsel

<th> <input type="checkbox" name="moteur[]" value="Vidange" <?php echo (in_array('Vidange',$moteur))? 'checked' : 'disabled' ?> ></th> 
<th> <input type="checkbox" name="moteur[]" value="nv" <?php echo (in_array('nv',$moteur))? 'checked' : 'disabled' ?> > </th> 
<th> <input type="checkbox" name="moteur[]" value="remplace" <?php echo (in_array('remplace',$moteur))? 'checked' : 'disabled' ?> ></th> 
<th> <input type="checkbox" name="moteur[]" value="nettoye" <?php echo (in_array('nettoye',$moteur))? 'checked' : 'disabled' ?> ></th> 
<th> <input type="checkbox" name="moteur[]" value="effectue" <?php echo (in_array('effectue',$moteur))? 'checked' : 'disabled' ?> > </th> 
<th> <input type="checkbox" name="moteur[]" value="controle" <?php echo (in_array('controle',$moteur))? 'checked' : 'disabled' ?> ></th> 
Verwandte Themen