Général
- Présentation
- Les Symboles
- Les Métacaractères
- Les Ancres et Classes
- Les options
- Constantes prédéfinies
- Equivalences
- Créer un motif
- Les POSIX
- Les PCRE
- Les Plus des PCRE
- Les Assertions Part I
- Les Assertions Part II
- Motif conditionnel
- Mysql et les regex
- Url Rewriting
- Optimisation
- Aide mémoire
Les PCRE
Les POSIX
Pratique
Linux
Spécial php
- Conseils et Astuces
- Délimiteur PCRE
- Créer une bdd
- Utiliser du BBcode
- Le binaire
- Faire un panier
- Cases à cocher
- Citations imbriquées
- Colorateur syntaxique
- Les list-box ou combo-box
- Faire un diaporama
- Isset ou empty ?
- Une légende au survol
- Site en plusieurs langues
- Requêtes dynamiques
- Gestion des smiley
- Faire un moteur de template
- Timestamp php/mysql
- Timestamp mysql
- Matcher une adresse email
- Controler des données
Les billets de fred
- Les POSIX... mise en pratique !
- Limiter l'accès à un répertoire
- Alternance de couleurs
- Magic_quotes
- Désactiver les short_tags
- Require ou include : Bench
- Cohérence dans les chaines de caractères
- "echo" : lapin ou tortue ?
- Gérer un formulaire avec plusieurs boutons
- Le formulaire a t'il été soumis ?
- J'ai décidé de grossir
- La guerre des étoiles
- La guerre des boutons
- Headers already sent
- IP, IP, IP, houra !
- Créer un itérateur avec PHP5
- On vous conduit vers la lumière
- Comment utiliser MySQL avec PHP
- Non aux booléens !
- Php.ini : dist /recommended
- Include : gouffre ou fêlure ?
- Simple comme les sessions !
- Simplifier le traitement des erreurs
- Structurez vos applications
- Franchement, t'es trop for !
- Notice: Undefined variable (ou index)
- Proscrire les variables auto déclarées
Les list-box ou combo-box et vos formulaires
Qu'est ce qu'une list-box ?
En fait, il s'agit simplement d'une liste <select> dans un formulaire.Mais euh... t'es idiot de nous faire un tuto là-dessus, on sait tous faire une liste select !
Oui certainement, mais la particularité de la list-box (ou combo-box) est que cette liste est
créée au départ d'une fonction php exploitée en dehors du formulaire
et appelée dans celui-ci en fonction des besoins. En gros, pour des élements standardisés de liste select, on aura un formulaire à l'intérieur duquel on appelera les liste dont on besoin.
Comme d'habitude, un petit exemple valant mieux qu'un long discours, on va y aller au plus simple en illustrant le sujet avec un système de list-box pour les dates dans vos formulaires.
- une liste pour les jours du mois
- une pour les mois
- une dernière pour lister des années.
Voilà la fonction pour lister les jours des mois... de 1 à 31
<?php
function listbox_jour ($jour=''){
for ($i=1;$i<32;$i++)
{
if ($i<10) $i='0'.$i;
echo '<option value="',$i,'"';
if($i==$jour)
{
echo ' selected';
}
echo '>',$i,'</option>';
}
}
?>
* Vous verrez par la suite pourquoi j'ai mis $jour='' comme paramètre dans la parenthèse de la fonction
Voilà, rien de bien compliqué, vous avez tous compris le principe, chacun de vous sachant se servir d'une boucle for().
2) Une list-box pour les mois de l'année
Pour les mois de l'année, la fonction va avoir une forme un peu plus particulière, la voici :
<?php
$listemois= array(
'janvier',
'février',
'mars',
'avril',
'mai',
'juin',
'juillet',
'août',
'septembre',
'octobre',
'novembre',
'décembre'
);
function listbox_mois ($mois='')
{
global $listemois;
for ($i=1;$i<13;$i++)
{
$j = $i-1;
if ($i<10) $i='0'.$i;
echo '<option value="',$i,'"';
if($i==$mois){
echo ' selected';
}
echo '>',$listemois[$j],'</option>';
}
}
?>
3) Une list-box pour une série d'années
Rien de bien compliqué ici, on est sur le même principe que pour les jours des mois.
<?php
function listbox_an ($an='')
{
for ($i=1950;$i<=$an;$i++)
{
echo '<option value="',$i,'"';
if($i==$an){
echo ' selected';
}
echo '>',$i,'</option>';
}
}
?>
Voilà, il suffit de réunir ces trois fonctions sur une même page, de la nommer par exemple maliste_combo.php et de la placer dans un dossier fonctions par exemple.
Bref, vous êtes suffisamment intelligent(e) pour développer votre config tout(e) seul(e).
Et voilà, via notre fichier complet, ce que donne l'affichage nos trois listes assemblées :
Et voici le code pour générer ce genre d'affichage :
<?php
$id_jour=date('d');
$id_mois=date('m');
$id_an=date('Y');
require('fonctions/maliste_combo.php');
echo '<form>
<table>
<tr><td>
<select name="jour_deb">',listbox_jour ($id_jour),'</select>
<select name="mois_deb">',listbox_mois ($id_mois),'</select>
<select name="an_deb">',listbox_an ($id_an),'</select>
<br /><br /></td></tr>
</table>
</form>';
?>
