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

EDI, CMS, Outils, Scripts et API PHP Discussion :

fonctionnement while appliqué à mysqli_fetch_array


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Par défaut fonctionnement while appliqué à mysqli_fetch_array
    Bonjour,

    J'aimerai avoir des explication sur le fonctionnement de while appliqué à mysqli_fetch_array

    Le fonctionnement normal d'une boucle while est donné généralement par un exemple de ce type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $i=0;
    while ($i <10)
    {
    echo $i;
    $i++;
    }
    ce qui donne: 0123456789
    J'ai incrémenté la variable $i et je l'ai soumise à la boucle while

    Mais dans l'exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $res=mysqli_query($mysqli,"SELECT * FROM matable;");
    while ($donnee=mysqli_fetch_array($res,MYSQLI_NUM))
    {
    echo "<br>",$donnee['1']," ",$donnee['2'];
    }
    j'obtiens très bien toutes les valeurs des champs 1 et 2 pour toute la table, mais je n'ai cependant rien incrémenté. il y a pourtant bien une variable qui s'incrémente et qui, ici, correspond au numéro d'enregistrement de la table ou plus exzactement de ma requête SELECT.
    Comment voir cette variable? Quelle commande me permettrait par exemple d'obtenir uniquement les champs de l'enregistrement 3 de ma requête.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour le fonctionnement de la fonction, c'est indiqué dans la documentation :
    mysql_fetch_array() retourne un tableau qui contient la ligne demandée dans le résultat result et déplace le pointeur de données interne d'un cran.
    On parcoure donc les résultats jusqu'à ce qu'il n'y en ai plus.

    Si tu veux un resultat specifique, c'est dans la requête qu'il faut l'indiquer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res=mysqli_query($mysqli,"SELECT * FROM matable WHERE id=3;");
    Je t'indique tout de même que l'extension mysql est obsolète, il faut utiliser PDO.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre chevronné Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Je t'indique tout de même que l'extension mysql est obsolète, il faut utiliser PDO.
    En effet, mais il y a aussi mysqli ... pour ma part je ne fait pas de PDO, j'ai du mal avec.
    J'ai testé mysqli en php7 sans problème.

  4. #4
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Par défaut
    Citation Envoyé par ddaweb Voir le message
    En effet, mais il y a aussi mysqli ... pour ma part je ne fait pas de PDO, j'ai du mal avec.
    J'ai testé mysqli en php7 sans problème.
    C'est vrai que PDO est un langage moins commode que mysql, mais on sera peut-être content de le trouver le jour où Oracle fera avec les bases de données mysql ce qu'il a fait avec Openoffice.

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

Discussions similaires

  1. mon while ne fonctionne que sur le premier select !
    Par gangrenn dans le forum Langage
    Réponses: 6
    Dernier message: 02/08/2010, 10h34
  2. Fonctionnement de boucle While
    Par Florian V dans le forum LabVIEW
    Réponses: 3
    Dernier message: 07/10/2009, 14h58
  3. Réponses: 10
    Dernier message: 28/08/2008, 09h15
  4. Fonction While {} qui ne fonctionne pas
    Par zoom61 dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2006, 12h17
  5. boucle While ne fonctionne pas ?
    Par beegees dans le forum Langage
    Réponses: 3
    Dernier message: 07/08/2006, 20h19

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