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 :

Boucle while sans incrémentation


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Par défaut Boucle while sans incrémentation
    je debute en php mais la logique dit que ce code est correct pour afficher tous les enregistrements de la table Users.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	mysql_connect('localhost', 'root', '');
    	mysql_select_db('users');
     
    	// on fait la requête
    	$sql = "SELECT `nom`, `prenom`, `id`FROM `personne`";
    	$req = mysql_query($sql);	
    	$counti = 0 ;
    	while ($myrow = mysql_fetch_row($req)){
    	echo $myrow[$counti];
    	$counti++ ;	
    	}
    dont le resultat est

    GentzenRick3
    Notice: Undefined offset: 3 in C:\wamp\www\jquery-autocomplete\demo\tz.php on line 11

    Notice: Undefined offset: 4 in C:\wamp\www\jquery-autocomplete\demo\tz.php on line 11

    Notice: Undefined offset: 5 in C:\wamp\www\jquery-autocomplete\demo\tz.php on line 11

    Notice: Undefined offset: 6 in C:\wamp\www\jquery-autocomplete\demo\tz.php on line 11

    Notice: Undefined offset: 7 in C:\wamp\www\jquery-autocomplete\demo\tz.php on line 11

    Notice: Undefined offset: 8 in C:\wamp\www\jquery-autocomplete\demo\tz.php on line 11

    Notice: Undefined offset: 9 in C:\wamp\www\jquery-autocomplete\demo\tz.php on line 11
    j'ai supprimé la dernier ligne :=> $counti++ ; et tout va bien j'ai eu mes résultats

    est ce logique ?????????

    Comment la variable $counti est incrémenté automatiquement ?

    Merci

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    ce code est correct si tu as une table de ce genre :
    nom des champs : 0, 1, 2, 3, 4, 5, ...., n-1, n


    En gros, tu auras compris l'ironie de mon post...

    1] déjà en général si on fait ce que tu veux faire, on va utiliser une boucle for()
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for( $i=0; $i <= 10; $i++ ) {
         echo '<p>Ligne #'.$i.'</p>';
    }

    2] voici comment on exécute une requete :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = "SELECT champ1, champ2, champ3 FROM maTable";
    $q = mysql_query($sql) or die(mysql_error()."<br />".$sql);
    while( $r = mysql_fetch_assoc($q) ) {
         echo '<p>mon champ 1 vaut : '.$r['champ1'].'</p>';
    }


    EDIT : j'avais pas vu que c'était un mysql_fetch_row() mais en gros, c'est encore pire.
    mysql_fetch_assoc/array => utilisation du nom du champ pour y accéder => $r['monChamp1']

    mysql_fetch_row => utilisation de l'INDICE du champ =>
    TABLE : id | monChamp1 | monChamp2 | date_creation
    INDICE : 0 | 1 | 2 | 3


    Forcément, d'apres ton code, il part toujours jusqu'à n-1 (mais pas n-1 du nombres de champs de ta table mais bien du nombre de ligne qu'elle comporte)

    Bref, faut pas écrire n'importe quoi

    PS : d'apres ce que je vois, ta table à 3 champs et comporte 9 lignes

  3. #3
    Membre éclairé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Par défaut
    je comprend maintenant, mais la logique dit que je ne devrai pas avoir de résultat en supprimant ma variable.

    merci

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

Discussions similaires

  1. Changer les valeurs de textbox à chaque incrément d'une boucle while
    Par cclleemmeenntt dans le forum Macros et VBA Excel
    Réponses: 34
    Dernier message: 31/03/2015, 08h38
  2. incrémentation boucle while
    Par babass-77 dans le forum VB.NET
    Réponses: 14
    Dernier message: 11/03/2012, 22h17
  3. Incrémenter un Array par une boucle While
    Par Misoss dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2010, 21h38
  4. probléme d'incrémentation dans la boucle while
    Par cmoi_doudi dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2008, 10h19
  5. boucle while et post incrémentation
    Par tut dans le forum C++
    Réponses: 7
    Dernier message: 10/12/2004, 17h24

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