J'ai un champ <select>
et je veux avoir la <option>
appropriée choisie en fonction de ce que la valeur GET est Je l'ai utilisé une déclaration ternaire pour produire un attribut selected
comme ceci:PHP isset pour la variable GET dans l'opérateur ternaire
<select name="data" id="data">
<option value="1" <?php echo $_GET['data'] == '1' ? 'selected' : '' ; ?>>One</option>
<option value="2" <?php echo $_GET['data'] == '2' ? 'selected' : '' ; ?>>Two</option>
<option value="3" <?php echo $_GET['data'] == '3' ? 'selected' : '' ; ?>>Three</option>
</select>
le problème est, lorsque la page le premier chargement il n'y a pas tableau $_GET
si je reçois une erreur de php dans ma boîte de sélection:
Notice: Undefined index: données ...
J'ai essayé d'utiliser isset
d'abord vérifier si le tableau est réglé avant de vérifier si la valeur correspond à:
<option value="1" <?php echo isset($_GET) && $_GET['data'] == '1' ? 'selected' : '' ; ?>>One</option>
Ce retourne la même erreur.
Quelle est la meilleure façon de gérer cette erreur de manière concise et de réaliser ce que je veux?
$ _GET est toujours défini! vous devez vérifier le paramètre avec isset ($ _ GET ['data']) – Waygood
@Waygood vous avez raison. poster comme réponse et je vais accepter. – harryg
Votre réponse acceptée est bonne. Pour la première itération seulement, et provoque la répétition. – Jimbo