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 :

Compteur de row bloqué a 4


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut Compteur de row bloqué a 4
    Bonjour,

    Je veux faire un tableau avec le résultat du calcul « fonction distance ».
    Ca fonctionne correctement mais le calcule ne s'effectue qu’avec les 4 premières lignes de ma table MySQL alors que ma BDD en possède 11 lignes.
    J’ai un résultat jusque distance_total [4] et après plus rien. Comme si le compteur était bloqué à 4
    J'ai beau retourner le problème dans tous les sens je ne comprends pas mon erreur.
    Voici mon code


    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    $sql = "SELECT lat,lng FROM markers";
    $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
     
    $i = 0;
     
    $table =array();
     
    //tant qu'il y a des points à manger
    while ($row = @mysql_fetch_array($requete)){
     
    	array_push($table,$row);
     
     
    }
     
    for ($i=0; $i<count($table)-1;$i++)
    	{
     
    		//Point A  
    		$lat1 = 37.443535;
    		$lng1 = -122.14070;
     
    		//point  B
    		$lat2 = $table[$i]['lat'];
    		$lng2 = $table[$i]['lng'];	
     
     
    		$distance_total[] = distance($lat1, $lng1, $lat2, $lng2);
     
    $i++
    ;	
     
    }
     
    echo($distance_total[0]).' Km0-xxx'; 
    echo($distance_total[1]).' Km1-xxx';
    echo($distance_total[2]).' Km2-xxx';
    echo($distance_total[3]).' Km3-xxx';
    echo($distance_total[4]).' Km4-xxx';
    echo($distance_total[5]).' Km5-xxx';
    echo($distance_total[6]).' Km6-xxx';
    echo($distance_total[7]).' Km7-xxx';
    Merci de votre aide

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i=0; $i<count($table)-1;$i++) {
    ... code etc ...
    $i++;	// A supprimer
    }
    Supprime le $i++ en bas à la fin car cela fausse/perturbe cette boucle for().
    En faite, tu l'incrémente 2 fois.

    Aussi, tu fais : $i<count($table)-1
    Ici, le dernier élément sera ignoré, car s'il y a 10 éléments par exemple, ce dernier élément dont l'indice vaudra 9 sera ignoré car 9 n'est pas strictement inférieur à la valeur total 9 (10-1), elle est égale, vois tu.
    La boucle s'arrêtera à l'indice 8 (l'avant dernier).
    - Soit il faut faire : $i <= count($table)-1 (inférieur ou égal)
    - Ou plus simplement : $i < count($table) (strictement inférieur, sans soustraire 1)


    Puis évite de mettre directement le count($table) dans la boucle, car cela va faire compter autant de fois que ça bouclera, vaut mieux le faire qu'une fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $total_table = count($table);
    for ($i=0; $i < $total_table; $i++)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    Ca fonctionne! Merci beaucoup RunCodePhp

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

Discussions similaires

  1. Compteur de points bloqué
    Par Menhir dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 27/06/2014, 20h30
  2. Réponses: 2
    Dernier message: 19/07/2008, 17h06
  3. Remise à 0 d'un compteur automatique
    Par missllyss dans le forum SQL
    Réponses: 4
    Dernier message: 15/12/2003, 16h46
  4. Row lock
    Par cassandra dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 09/04/2003, 16h07
  5. Migration Access > SQL Server (suite) : Compteur
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2003, 14h08

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