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

Flash Discussion :

[FLASH 8] traitement d'une chaine de caractère


Sujet :

Flash

  1. #1
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut [FLASH 8] traitement d'une chaine de caractère
    Bonjour à tous....

    Bon voila le pb, en fait je suis en stage et on m'a demandé de réaliser un boulo en flash..... Jusque la tout va bien le seul petit pb c'est que moi je n'ai jamais fai de flash!!!!!

    Donc voila grace a tous les tut trouvés sur internet, j'ai réussi a récupérer, dans un champs de texte dynamique, des valeurs générées par un fichier PHP.

    Ces valeurs s'affichent correctement donc le problème ne vient pas de la.

    Le truc c'est que j'ai séparé les différentes valeurs par un | donc il faudrait que je retouche la chaine pour séparer les différentes valeurs.

    Donc dans le fla, j'ai deux champs x et y.

    Ensuite j'ai le code suivant :
    var separateur = "|";
    var position_x = x.indexOf("|");
    var position_y = y.indexOf("|");

    en fait j'aimerais récupérer la position du séparateur pour ensuite faire :
    var premier_x = x.substring(0, position_x);
    var premier_y = y.substring(0, position_y);

    ce qui me permettra par la suite de faire un moveTo/lineTo avec premier_x et premier_y.

    Voilà je sais pas si je me suis fait comprendre.

    Merci a tous ceux qui pourront m'aider

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Sois plus clair la ... parce que la solution de ce que tu demande semble etre le code que tu nous montres ...
    J'aime les gâteaux.

  3. #3
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bon oki c'est vrai que j'étais pas vraiment clair là...

    Bon alors je t'explique entièrement le problème.

    Je fais un site sur le covoiturage. Et en fait le mec pour qui je bosse voudrais que j'ajoute une fonctionnalité flash.
    Quand un mec clique sur une trajet, une carte du département apparait et, dessus apparait le tracet du trajet. Pas uniquement entre la ville de départ et la ville d'arrivée mais également avec les différentes villes étapes...

    Donc en fait moi ce que j'ai fai pour le moment c'est une page PHP qui récupère les coordonnées des différentes villes par lesquelles le trajet passent, et ensuite avec le flash je récupère ces différentes valeurs.
    Bon alors jusque la j'ai réussi à faire parce que mon application flash affiche correctement les différentes coordonnées. Mais en fait pour les avoir toutes je les balance à flash sous la forme suivante :
    coor1|coor2|....|coorN|

    Donc du coup dans le flash, il faudrait que je récupère la valeur des champs x et y, et que je fasse un traitement qui me permette de récupérer les différentes coordonnées, pour par la suite les utiliser pour faire mon tracet.

    Voilà j'espère que j'ai été un peu plus clair

  4. #4
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Je ne sais pas si j'ai bien compris.
    En tout cas, saches que IndexOf() peut avoir un second argument qui est facultatif et qui je pense te donnera satisfaction.
    Plus d'informations sur le site de Macromedia.

    En esperant t'aider.
    J'aime les gâteaux.

  5. #5
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    A merci maintenant quand j'essai d'afficher la variable qui contient la position du caractère |, il me met plus undefined le seul problème c'est que maintenant il me met -1. Et la c'est pas vraiment logique parce que dans la chaine il y a au moins 5 caractère |

    [edit]euh juste au cas ou je te met mon code PHP des fois que ca viendrai de la mais bon je pense pas...

    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
    43
    44
    45
    $select = "SELECT E.ville_etape
    	  FROM etape E, passe_par P
    	      WHERE P.id_trajet = \"5\"
    	      AND P.id_etape = E.id_etape";
     
    // si la requête select s'exécute bien
    if ( $result = mysql_query ($select) )
    {
        // on boucle sur toutes les villes étapes
        while ( $rows = mysql_fetch_object ($result) )
        {
            // on récupère l'attribut
            $ville = $rows->ville_etape;
     
            // on récupère les coordonnées de la ville étape
            $selec = "SELECT x AS n_x, y AS n_y
                         FROM ville
    	            WHERE nom_ville = \"$ville\"";
     
            // exécution de la requête
            $resul = mysql_query ($selec)		 // exécution correcte
    	       or die ("Erreur : ".mysql_error()); // exécution incorrecte
     
            // récupération de la ligne contenant les valeurs
            $row = mysql_fetch_assoc ($resul);
     
            // extraction des valeurs dans les attributs $n_x et $n_y
            extract ($row);
     
            // on complète la ligne contenant les valeurs			
            $x .= $n_x."|";
            $y .= $n_y."|";
        }
     
        // on affiche les valeurs pour les transmettre
        // au document flash qui appelera cette page
        // on met le & pour préciser que l'on fait
        // passer cette variable vers flash
        // ( passage dans l'adresse )
        echo "&x=$x";
        echo "&y=$y";
    }
    // si la requête select s'exécute mal
    else
        echo 'Erreur : '.mysql_error();

  6. #6
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Sous flash as-tu fait un trace() de ta variable afin de t'assurer qu'elle aie le contenu attendu ?
    J'aime les gâteaux.

  7. #7
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Alors oui en fait ce que je fais dans flash c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    loadVariablesNum("test.php", 0, "POST");
     
    var position_x = x.indexOf('|', 0);
     
    trace(position_x);
    Et en fait quand je teste l'animation dans flash, dans la fenêtre il affiche -1

    [edit]A pardon toi tu voulais parler de la variable x, ben en fait jusqu'à présent je ne l'avais pas fait c'est vrai, et la je viens de le faire et il m'affiche : <p align="center"></p>

  8. #8
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Je parlais plutot d'un trace de la variable x dans ActionSCript.
    J'aime les gâteaux.

  9. #9
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    j'espère que je ne sort pas trop du truc mais voici un bout de code qui devrais t'aider je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var maChaine_str:String;
    maChaine_str = "123|251|14|236|312|142|123|22";
    trace(maChaine_str.split("|")[2])
    la méthode split permet de faire un tableau de tes coordonées, ainsi maChaine_str.split("|")[2] renvoi le 3eme chiffre soit 14.
    Tu peux ensuite faire une boucle si tu veux

  10. #10
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    J'avais pas compris dès le début mais par contre j'avais éditer mon message précédent... t'as pas du le voir

    A pardon toi tu voulais parler de la variable x, ben en fait jusqu'à présent je ne l'avais pas fait c'est vrai, et la je viens de le faire et il m'affiche : <p align="center"></p>

  11. #11
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci Arnolem pour m'avoir montrer la fonction split ça va m'être très utile.
    Mais en fait j'ai toujours un problème du au fait que ma variable x ne contient pas les valeurs dont j'ai besoin... au lieu de contenir les coordonnées, elle contient <p align="center"></p>.

    Pourtant j'ai définie mes champs comme ceci :

    1er champ => nom d'occurrence : champ_x
    => var : x
    => une seule ligne
    => rendre le texte au format HTML

    2ème champ => idem mais avec y

  12. #12
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    déja renomme la, x c'est un nom réservé normalement

  13. #13
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Ben en fait j'ai déjà essayé de la renommer mais le truc c'est que dès que je change le nom de la variable mon application flash, qui jusqu'à présent affichait correctement les coordonnées, n'affiche plus rien.

    Pourtant j'ai modifié le nom de la variable dans le flash et dans le PHP mais je ne sais pas pourquoi ca ne veux pas fonctionner. Et le fichier PHP affiche correctement la suite de coordonnées

  14. #14
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    J'ai rien di c'est moi qui m'était trompé dans un truc ... par contre pour le reste ça n'a pas changé je n'ai toujours pas la bonne valeur dans coorx

  15. #15
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    C'est quoi coorx ? Le nouveau nom de x ?

    Deja essaie de determiner d'ou peut venir <p align="center"></p>, ce sera deja un pas en avant. Se peut-il que cette valeur vienne de la base de donnees ?
    J'aime les gâteaux.

  16. #16
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Alors oui effectivement coorx c'est le nouveau nom de x ( dsl de pas l'avoir précisé )

    Et puis en fait je crois savoir ca vien d'ou le <p....
    En fait mon champ de texte affiche son contenu en centré, donc je pense que ça vient de la.... par contre je ne comprend pas pourquoi ça n'affiche que ca.

    J'ai également demander un coup de main à un ami qui m'a di d'utiliser un autre système :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // test.php
    echo 'nbinfos=10';
    echo '&st1=blablabla';
    echo '&st2=blablabla';
    ...
    echo '&st10=blablabla';
    voila enfin en renommant les différentes variables comme je veux... et ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // test.fla
    var PhpObject= new LoadVars();
     
    PhpObject.onLoad = function(success) {
        if (success) {
            for(i=1; i<=this.nbinfos; i++) {
                set ("st" + i, eval("this.st" + i));
            }
        } else {
            st1="not loaded";
        }
    };
    PhpObject.Load("test.php");
    Alors moi je veux bien sauf que je n'ai pas un nombre statique de variable donc il faut que j'en cré une nouvelle a chaque passage dans la boucle avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var champ_x = "x"+i;
    _root.createEmptyMovieClip( champ_x, this.getNextHighestDepth() );
    champ_x.createTextField( "champ_" + champ_x, this.getNextHighestDepth(), 0, 0, 20, 20 );
    ou un truc du genre mais bon comme je suis vraiment nul en flash je sens que ça va me prendre du temps

  17. #17
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bon alors voila j'ai réussi a avancer un peu ( remarque j'étais pas bien loin ).
    Donc maintenant j'arrive a récupérer les variables mais, le seul petit problème maintenant c'est que, quand dans le fichier PHP je passe les valeurs en statique ( echo '&nbinfos=10&'; ), ça fonctionne impécable parce que flash récupère la valeur 10.
    Seulement si je veux faire passer en dynamique ( $var = 10; echo "&nbinfos=$var&"; ) alors là il y a un petit problème, parce que flash récupère $var au lieu de récupérer 10, alors que le fichier PHP, lui, affiche correctement la valeur.

    je remet le code pour que vous puissiez voir :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    //test.php
     
    // connexion au serveur et à la base de données
    include_once ("connect.php");
     
    $cpt = "SELECT count(E.ville_etape) AS nb
               FROM etape E, passe_par P
                   WHERE P.id_trajet = '5'
    	  AND P.id_etape = E.id_etape";
     
    $res_cpt = mysql_query ($cpt) or die ("Erreur : ".mysql_error());
     
    $ligne = mysql_fetch_assoc ($res_cpt);
     
    extract ($ligne);
     
    $texte = "&nbinfos=$nb&";
     
    $cpt = 1;
     
    // on récupère le nom des villes qui servent
    // d'étapes au trajet
    $select = "SELECT E.ville_etape
    	  FROM etape E, passe_par P
    	      WHERE P.id_trajet = '5'
    	      AND P.id_etape = E.id_etape";
     
    if ( $result = mysql_query ($select) )
    {
        // on boucle sur toutes les villes étapes
        while ( $rows = mysql_fetch_object ($result) )
        {
            // on récupère l'attribut
            $ville = $rows->ville_etape;
     
            // on récupère les coordonnées de la ville étape
            $selec = "SELECT x AS n_x, y AS n_y
                         FROM ville
    	            WHERE nom_ville = '$ville'";
     
            // exécution de la requête
            $resul = mysql_query ($selec)
                        or die ("Erreur : ".mysql_error());
     
            // récupération de la ligne contenant les valeurs
            $row = mysql_fetch_assoc ($resul);
     
            // extraction des valeurs dans les attributs $n_x et $n_y
            extract ($row);
     
            // on complète la ligne contenant les valeurs
            $texte .= "&x$cpt=$n_x&";
            $texte .= "&y$cpt=$n_y&";
     
            $cpt++;
        }
     
        echo $texte;
    }
    else
        echo 'Erreur : '.mysql_error();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //test.fla
     
    var PhpObject:LoadVars = new LoadVars();
     
    PhpObject.onLoad = function(success:Boolean) {
        if (success) {
            set ("nbinfos", eval("this.nbinfos"));
            trace (nbinfos); // affiche $nb
        } else {
            set ("nbinfos", "not loaded");
        }
    };
    PhpObject.load("test.php");
    Voila j'espère que quelqu'un pourra m'aider

    [edit] Je rappelle juste le problème pour pas que l'on me dise que même si le trace affiche $nb l'application finale, elle, m'affichera le bon résultat, ça je l'ai bien vu c'est pas un problème.
    Mon problème moi c'est que je ne veux pas l'afficher, je veux juste utiliser la valeur, contenue dans $nb, dans la suite de mon programme.
    Parce que la si je fais (après le trace du code précédent) :
    for ( i=0 ; i<nbinfos ; i++ ) { trace(i); }

    Ben la je vais avoir pas mal de problème parce que c'est une boucle infinie...


  18. #18
    Candidat au Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bon ben c'est bon en fait j'ai réussi a trouver une solution alors je vais la mettre au cas où il y aurait des personnes que ça intéresse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // base.php
    <?php $id = 5 // pour l'exemple; ?>
     
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab
    #version=7,0,19,0" width="800" height="679">
        <param name="movie" value="carte.swf?id_trajet=<?php echo $id; ?>">
        <param name="quality" value="high">
        <embed src="carte.swf?id_trajet=<?php echo $id; ?>" quality="high" 
    pluginspage="http://www.macromedia.com/go/getflashplayer" 
    type="application/x-shockwave-flash" width="800" height="679"></embed>
    </object>
    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
    43
    44
    45
    46
    47
    48
    // test.fla
     
    // création des variables d'envoi et de réception
    // des valeurs
    var loadListe:LoadVars = new LoadVars();
    var sendListe:LoadVars = new LoadVars();
     
    // création d'un clip vide qui servira à
    // tracer le trajet
    _root.createEmptyMovieClip ("ligne",1);
    ligne.lineStyle (2, 0x36393D, 100);
     
    // récupération de l'identifiant du trajet
    // envoyé par base.php
    sendListe.id_trajet = id_trajet;
     
    loadListe.onLoad = function(success:Boolean) {
    	if (success) {
    		// création d'un champ de texte contenant le nombre de variables 
     	 	// passées
    		_root.createTextField("champ_info", this.getNextHighestDepth(),
     	 	0, 0, 20, 20);
    		set ("champ_info", eval("this.nbinfos"));
    		// création d'un champ de texte pour chaque variables reçues
     	 	for( i = 0 ; i < champ_info ; i++ ) {
    		 	_root.createTextField("champ_x" + i, 
     	 	 	this.getNextHighestDepth(), 	0 ,0, 20 ,20);
    		 	_root.createTextField("champ_y" + i, 
     	 	 	this.getNextHighestDepth(), 	0 ,0, 20, 20);
    	 		set ("champ_x" + i, eval("this.x" + i));
    		 	set ("champ_y" + i, eval("this.y" + i));
    	 	}
     
    		 ligne.moveTo(champ_x0, champ_y0);
     
     		for ( i = 1 ; i < champ_info ; i++ ) {
    	 		var x_line = get("this.champ_x" + i);
    		 	var y_line = get("this.champ_y" + i);
     
     			ligne.lineTo(x_line, y_line);
    	 	}
    	} else {
    		_root.createTextField("champ_info", this.getNextHighestDepth(),
     	 	0, 0, 20, 20);
    		set ("champ_info", "not loaded");
     	}
    };
    sendListe.sendAndLoad("http://asg88.cg81.fr/covoiturage/coor_carte.php",loadListe);
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    // coor_carte.php
    // connexion au serveur et à la base de données
    include_once ("connect.php");
     
    $id_trajet = $_REQUEST['id_trajet'];
     
    $cpt = "SELECT count(E.ville_etape) AS nb
            FROM etape E, passe_par P
               WHERE P.id_trajet = '$id_trajet'
    	   AND P.id_etape = E.id_etape";
     
    $res_cpt = mysql_query ($cpt) or die ("Erreur : ".mysql_error());
     
    $ligne = mysql_fetch_assoc ($res_cpt);
     
    extract ($ligne);
     
    $nb += 2;
     
    $texte = "&nbinfos=$nb&";
     
    $cpt = 1;
     
    // on récupère le nom des villes de départ et
    // d'arrivée du trajet
    $sel = "SELECT ville_depart, ville_arrivee
            FROM trajet
               WHERE id_trajet = '$id_trajet'";
     
    $res = mysql_query ($sel) or die ("Erreur : ".mysql_error());
     
    $lignes = mysql_fetch_assoc ($res);
     
    extract ($lignes);
     
    $sele = "SELECT x AS x_dep, y AS y_dep
             FROM ville
                WHERE nom_ville = '$ville_depart'";
     
    $resu = mysql_query ($sele) or die ("Erreur : ".mysql_error());
     
    $ligne = mysql_fetch_assoc ($resu);
     
    extract ($ligne);
     
    $texte .= "&x0=$x_dep&";
    $texte .= "&y0=$y_dep&";
     
    $sele = "SELECT x AS x_arr, y AS y_arr
             FROM ville
                WHERE nom_ville = '$ville_arrivee'";
     
    $resu = mysql_query ($sele) or die ("Erreur : ".mysql_error());
     
    $ligne = mysql_fetch_assoc ($resu);
     
    extract ($ligne);
     
    // on récupère le nom des villes qui servent
    // d'étapes au trajet
    $select = "SELECT E.ville_etape
               FROM etape E, passe_par P
    	      WHERE P.id_trajet = '$id_trajet'
    	      AND P.id_etape = E.id_etape";
     
    // si la requête select s'exécute bien
    if ( $result = mysql_query ($select) )
    {
    	// on boucle sur toutes les villes étapes
    	while ( $rows = mysql_fetch_object ($result) )
    	{
    		// on récupère l'attribut
    		$ville = $rows->ville_etape;
     
    		// on récupère les coordonnées de la ville étape
    		$selec = "SELECT x AS n_x, y AS n_y
    	 		  FROM ville
    			     WHERE nom_ville = '$ville'";
     
    		// exécution de la requête
    		$resul = mysql_query ($selec)		
    			 or die ("Erreur : ".mysql_error());
     
    		// récupération de la ligne contenant les valeurs
    		$row = mysql_fetch_assoc ($resul);
     
    		// extraction des valeurs dans les attributs $n_x et $n_y
    		extract ($row);
     
    		// on complète la ligne contenant les valeurs
    		$texte .= "&x$cpt=$n_x&";
    		$texte .= "&y$cpt=$n_y&";
     
    		$cpt++;
    	}
     
    	$texte .= "&x$cpt=$x_arr&";
    	$texte .= "&y$cpt=$y_arr&";
     
    	echo $texte;
    }
    // si la requête select s'exécute mal
    else
    	echo 'Erreur : '.mysql_error();
    Voilà j'espère que cela pourra aider quelques personnes.

    En tout cas merci pour les coups de mains ça ma permis d'avancer un peu!

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

Discussions similaires

  1. Traitement d'une chaine de caractère.
    Par azmodai dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/02/2009, 00h14
  2. Traitement d'une chaine de caractères
    Par thipyt dans le forum Général Python
    Réponses: 4
    Dernier message: 11/08/2008, 10h16
  3. Réponses: 3
    Dernier message: 27/04/2008, 19h10
  4. traitement d'une chaine de caractère
    Par mohamed dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/12/2004, 17h45
  5. Réponses: 3
    Dernier message: 21/06/2004, 11h20

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