IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

écrire une liste de nombres


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut écrire une liste de nombres
    Bonjour,
    j'aimerai faire une liste qui contient les chiffres de "0 a 30" (pour par la suite mettre en caché les chiffres qui sont deja utilisés).

    est ce possible de le faire sans ecrire dans ma liste 30chiffres en dure? :s


    (Les numeros sont ceux attribué a un menu pour une autre page.
    01 -menu1
    02- menu2
    ... )

    Merci d'avance.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    La fonction range me parait tout à fait adaptée à ce que tu cherches
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 264
    Points : 141
    Points
    141
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach (range(1, 10) as $number) {
        printf("%02d - menu".$number.'<br>', $number);
    }

  4. #4
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    ha oki.. bah en meme tps j'ai avancé et j'ai trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <td>
    <?php
    echo '<select name="ordre">',"\n";
    for ($i = 0; $i <= 30; $i++)
    {
    echo "<option value ='$i' > $i  </option>";
    }
    echo '</select>',"\n";
    ?>
    </td>
    Maintenant mon soucis est de mettre en grisé les numeros qui sont deja dans ma base de donnée.

    mais je bloque ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <td>
    <?php
    echo '<select name="ordre">',"\n";
    for ($i = 0; $i <= 30; $i++)
    {
    $sqln = "select num_men from menu where num_men = '$i'";
    $reqn = mysql_query($sqln) or die('Erreur SQL !<br>'.$sqln.'<br>'.mysql_error());
    echo "<option value ='$i' > $i  </option>";
    }
    echo '</select>',"\n";
    ?>
    </td>
    .. une idée?

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu peux le faire à l'envers : tu listes les numéros qui sont déjà dans la table avant de construire la liste et tu les stockes dans un tableau, puis lorsque tu construit la boucle tu testes si la valeur de l'option courante est dans le tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $sqln = "select num_men from menu";
    $reqn = mysql_query($sqln) or die('Erreur SQL !<br>'.$sqln.'<br>'.mysql_error());
    $num_men_table = array();
    while ($ligne = mysql_fetch_array($reqn))
     $num_men_table[] = $ligne['num_men'];
    //....
     
    echo '<select name="ordre">',"\n";
    for ($i = 0; $i <= 30; $i++)
    {
      echo '<option value ="$i" ';
      if( in_array($i, $num_men_table))
        echo ' disabled="disabled" ';
      echo ' > $i  </option>';
    }
    echo '</select>',"\n";
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    erf, ton code me plaisai bien mais rien ne se passe pour le disabled.
    j'ai juste changer les simples cote en guillemet pour la Variable du "$i" ...

    Les enregistrement dans la bdd ne marchent plus... :/

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    On peut voir à quoi ça ressemble maintenant ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  8. #8
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    oui

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?
    $sqln = "select num_men from menu";
    $reqn = mysql_query($sqln) or die('Erreur SQL !<br>'.$sqln.'<br>'.mysql_error());
    $num_men_table = array();
    while ($ligne = mysql_fetch_array($reqn))
     $num_men_table[] = $ligne['num_men'];
     
    echo '<select name="ordre">',"\n";
    for ($i = 0; $i <= 30; $i++)
    {
      echo '<option value ="$i"';
      if( in_array("$i", $num_men_table))
      {
        echo 'disabled="disabled"';
    	}
     echo ">$i</option>";
    }
    echo '</select>',"\n";
     
    ?>

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pas de message d'erreur ? la liste s'affiche normalement, mais sans tenir compte des disabled ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    exactement,

    L'affichage est propre mais pas de disabled, pas d'enregistrement dans la base.


    et le message d'erreur est celui d'un autre controle (de doublon) que j'ai mis apres avoir valider le formulaire.

  11. #11
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    C'est ok pour l'enregistrement dans la bdd

    Mais pas pour le disabled :/

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    [insérez-ici-votre-juron-favori] !

    1) c'est pas "$i" qu'il faut tester dans la condition, c'est $i tout court...
    2) une variable entre quotes simple n'est pas interprétée : donc toutes tes options ont comme valeur $i littéralement !

    Donc on la refait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $sqln = "select num_men from menu";
    $reqn = mysql_query($sqln) or die('Erreur SQL !<br>'.$sqln.'<br>'.mysql_error());
    $num_men_table = array();
    while ($ligne = mysql_fetch_array($reqn))
     $num_men_table[] = $ligne['num_men'];
     
    echo '<select name="ordre">',"\n";
    for ($i = 0; $i <= 30; $i++)
    {
      echo '<option value ="'.$i.'" ';
      if( in_array($i, $num_men_table))
      {
        echo ' disabled="disabled" ';
    	}
     echo " >$i</option>";
    }
    echo '</select>',"\n";
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  13. #13
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    ... [N'insérez-pas-ici-votre-juron-favori] !


    OK pour l'enregistrement, mais rien ne change pour le disabled .. si ça te saoule laisse

  14. #14
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    On va trouver... Si tu essayes d'afficher la liste des nombres déjà dans la base ça donne quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($ligne = mysql_fetch_array($reqn))
     $num_men_table[] = $ligne['num_men'];
     
    print_r($num_men_table);
    PS le juron c'était parce que je t'avais ajouté une erreur au lieu de la solutionner...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  15. #15
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Alors ton ptit bout de code me sort bien les enregistrements qui sont dans la base :


    Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 7 [4] => 9 )

  16. #16
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    for ($i = 0; $i <= 30; $i++)
    {
      echo '<option value ="'.$i.'" ';
      if( in_array($i, $num_men_table))
      {
        echo 'disabled="disabled">';
    	}
     echo " >$i</option>";
    }
    La y'a un ">" en trop apres echo 'disabled="disabled">'; , et dans la liste deroulante on voit bien apparaitre ce signe devant les chiffres concerné.
    Donc ce serai qu'il n'est pas possible de mettre un disabled sur les champs d'une liste?

  17. #17
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Normalement si, j'ai essayé ça et ça marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select>
    <option value="1">1</option>
    <option value="1">2</option>
    <option value="1" disabled="disabled">not</option>
    <option value="1">3</option>
    </select>
    Aaaaargl, je comprends plus : la condition est bonne mais les éléments sont toujours cliquables ? si tu vas voir dans la source de la page générée, tu trouve bien les disabled ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  18. #18
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    Oui dans la source les disabled sont là.

    Avec Mozilla, Pas de probleme.

    Donc le code est bon.


    .. je cherche, si quelqu'un connais un equivalent pour IE..

  19. #19
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 38
    Points
    38
    Par défaut
    hé bien il n'y est a pas !
    Voila, si la reponse interesse, faut jouer sur l'affichage...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SWI-Prolog] Comment écrire une liste en format 4x3 ?
    Par Shaitan00 dans le forum Prolog
    Réponses: 2
    Dernier message: 09/03/2008, 10h32
  2. Créer une liste de nombre
    Par lpnj1 dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/12/2007, 10h39
  3. Réponses: 8
    Dernier message: 11/04/2006, 21h41
  4. [c#] Trier une liste de nombres liés.
    Par Joad dans le forum ASP.NET
    Réponses: 13
    Dernier message: 11/05/2005, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo