2010-03-07 5 views
1

Je suis nouveau sur PHP et je veux que ce code <option value="" disabled="disabled">-------------</option> soit désactivé lorsque le code php est en train de construire ma liste d'options. Comment puis-je corriger mon code php afin de toujours désactiver cette option spécifique?Problème de tableau PHP?

Voici une partie du code php.

echo '<select name="country" id="country" size="20">' . "\n"; 
    foreach($countries as $option) { 
    if ($option == $state) { 
     echo '<option value="' . $option . '" selected="selected">' . $option . '</option>' . "\n"; 
    } else { 
     echo '<option value="'. $option . '">' . $option . '</option>'."\n"; 
    } 
    } 
echo '</select>'; 

Voici une partie du code HTML généré par le code php.

<option value="United States">United States</option> 
    <option value="Australia">Australia</option> 
    <option value="Canada">Canada</option> 
    <option value="United Kingdom">United Kingdom</option> 
    <option value="India">India</option> 
    <option value="" disabled="disabled">-------------</option> 
    <option value="Afghanistan">Afghanistan</option> 
    <option value="Aland Islands">Aland Islands</option> 

    <option value="Albania">Albania</option> 
    <option value="Algeria">Algeria</option> 
    <option value="American Samoa">American Samoa</option> 
    <option value="Andorra">Andorra</option> 
+0

Il doit venir après * Inde *? Comment l'ajouter actuellement, je ne trouve pas cette option dans votre code. Si vous voulez grouper des pays, vous devriez envisager d'utiliser 'optgroup': http://www.w3schools.com/tags/tag_optgroup.asp –

+1

Jetez un coup d'oeil à l'élément' -'-HTML, cela vous évitera d'ajouter données de déchets uniquement pour les visuels de celui-ci. – chelmertz

+0

C'est pourquoi c'est désactivé. – needHeLp

Répondre

0
echo '<select name="country" id="country" size="20">' . "\n"; 
    foreach($countries as $option) { 
    if ($option == $state) { 
     echo '<option value="' . $option . '" selected="selected">' . $option . '</option>' . "\n"; 
    } 
    else if($option == "-------------------"){ 
     echo '<option value="" disabled="disabled">----------------</option>'; 
    } 
    else { 
     echo '<option value="'. $option . '">' . $option . '</option>'."\n"; 
    } 
    } 
echo '</select>'; 
0

Habituellement, ce que vous faites est d'ajouter ces cas particuliers en dehors du flux normal du pour, à moins que la base de données ne représente une option nulle. Par exemple, je pouvais le faire comme ça (en utilisant des balises courtes, qui pourraient être indisponibles):

<select name="country" id="country" size="20"> 
    <option value="" disabled="disabled">----------------</option> 
<?php 
foreach($countries as $option): 
    if ($option == $state): ?> 
     <option value="<?=$option ?>" selected="selected"><?=$option?></option> 
    <? else: ?> 
     <option value="<?=$option ?>"><?=$option ?></option> 
    <? endif; 
endforeach; ?> 
</select> 

Je présente mes excuses pour les erreurs de syntaxe, je n'ai pas mon serveur web disponible en ce moment.