Il y a trois options dans la liste déroulante :
Lorsque je sélectionne "Déployer", l'enregistrement est correct. Lorsque je sélectionne "Non déployé", il est enregistré sous "Défaut". Lorsque je sélectionne "Défectueux", il est enregistré sous "Défectueux"
Pouvez-vous s'il vous plaît m'aider à résoudre ce problème pour enregistrer le formulaire avec uniquement les options sélectionnées. Merci.
</div> </div> <?php if(isset($vehicledetails[0]['v_is_active'])) { ?> <div class="col-sm-6 col-md-3"> <div class="form-group"> <label for="v_is_active" class="form-label">Machinery Status</label> <select id="v_is_active" name="v_is_active" class="form-control " required=""> <option value="">Select Machinery Status</option> <option <?php echo (isset($vehicledetails) && $vehicledetails[0]['v_is_active']==1) ? 'selected':'' ?> value="1">Deployed</option> <option <?php echo (isset($vehicledetails) && $vehicledetails[0]['v_is_active']==0) ? 'selected':'' ?> value="0">Not Deployed</option> <option <?php echo (isset($vehicledetails) && $vehicledetails[0]['v_is_active']==0) ? 'selected':'' ?> value="0">Faulty</option> </select> </div> </div> <?php } ?>
Pouvez-vous s'il vous plaît m'aider à résoudre ce problème pour enregistrer le formulaire avec uniquement les options sélectionnées.
Je suppose que vous disposez d'un tableau de données $vehicledetails comme
Le problème avec votre code est donc que vous répétez la même condition pour chacune des trois options.
Donc, si une condition est remplie, toutes les options apparaîtront cochées.
Les conditions de chaque option doivent être mises à jour pour refléter la valeur appropriée dans $vehicledetails[0]['v_is_active'].
De plus, les valeurs des options « Non déployé » et « Défaut » semblent incorrectes car elles ont toutes deux une valeur de 0.
Code modifié :
J'espère que cela vous aidera.