Partage
  • Partager sur Facebook
  • Partager sur Twitter

ma carte en GD ne marche pas si je met une condition

    2 janvier 2006 à 12:09:39

    Bonjour,

    Voilà ma carte en GD marchait bien, et l'on a décidé de faire plusieurs carte donc j'ai mis une condition pour vérifié le nom de la carte ou se trouve la personne pour afficher une certaine image de fond mais le probleme c'est que mon image ne s'affiche plus

    Voici le code :

    <?php
    header ("Content-type: image/jpeg"); // L'image que l'on va créer est un jpeg

    include('mysql_membres.php');

    $ville = mysql_query("SELECT ville FROM membres WHERE pseudo='".$_SESSION['pseudo']."'") or die(mysql_error());
    $ville2 = mysql_fetch_array($ville);


    $source = imagecreatefrompng("image/point.png"); // L'image qui représente les membres
    //on charge l'image de la carte en fonction de la ville ou se trouve la personne qui est derrière son écran.
    if($ville2['ville'] == "ville1")
            {
            $destination = imagecreatefrompng("image/ville1.png")
            }       
    elseif($ville2['ville'] == "ville2")
            {
            $destination = imagecreatefrompng("image/ville2.png");
            }
    elseif($ville2['ville'] == "ville3")
            {
            $destination = imagecreatefrompng("image/ville3.png");
            }

    $les_pseudo = mysql_query("SELECT pseudo FROM connecte") or die(mysql_error());
    while($les_pseudo2 = mysql_fetch_array($les_pseudo))
            {
            include('mysql_membres.php');
            $les_position = mysql_query("SELECT position_x_2,position_y_2 FROM membres WHERE pseudo='".$les_pseudo2['pseudo']."' AND ville='".$ville2['ville']."'") or die(mysql_error());
            while($les_position2 = mysql_fetch_array($les_position))
    {
    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);

    // On veut placer le logo en bas à droite, on calcule les coordonnées où on doit placer le logo sur la photo
    $destination_x = $les_position2['position_x_2'];
    $destination_y$les_position2['position_y_2'];

    // On met le logo (source) dans l'image de destination (la photo)
    imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 60);

    }
    }
    // On affiche la carte
    imagejpeg($destination);

    ?>
    • Partager sur Facebook
    • Partager sur Twitter
    Déployez votre site avec WordPress // CHATEAU AH AH AH AH AH AH AH
      2 janvier 2006 à 12:17:45

      Salut

      Fais déjà un echo $ville2['ville'] pour vérifie le contenu de cette variable.

      Sinon, pourquoi fais-tu tant de conditions ?

      Fais simplement
      $destination = imagecreatefrompng('image/'.$ville2['ville'].'.png');


      Bonne continuation

      Amicalement

      T@kniX
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2006 à 12:20:26

        pour le echo il marque bien ce que je souhaite mais sa marche pas quand même
        • Partager sur Facebook
        • Partager sur Twitter
        Déployez votre site avec WordPress // CHATEAU AH AH AH AH AH AH AH
          2 janvier 2006 à 12:25:01

          Fais voir
          if($destination) echo 'Ok';
          else echo 'Erreur';


          Qu'obtiens-tu ?
          • Partager sur Facebook
          • Partager sur Twitter
            2 janvier 2006 à 12:57:58

            Alors là si c'est la seule chose que tu ais modifié je ne vois pas.

            Avant celà,ne travaillais-tu pas avec des images jpg ? (Ce qui expliquerait le imagejpeg($destination);)

            Mais ne devrais-tu pas mettre plutôt imagepng($destination); ?
            • Partager sur Facebook
            • Partager sur Twitter
              2 janvier 2006 à 13:04:13

              non tout est bien.
              mettre imagepng ne change rien

              et cette requete :

              $les_position = mysql_query("SELECT position_x_2,position_y_2 FROM membres WHERE pseudo='".$les_pseudo2['pseudo']."' AND ville='".$ville2['ville']."'") OR die(mysql_error());


              était avant

              $les_position = mysql_query("SELECT position_x_2,position_y_2 FROM membres WHERE pseudo='".$les_pseudo2['pseudo']."'") OR die(mysql_error());

              • Partager sur Facebook
              • Partager sur Twitter
              Déployez votre site avec WordPress // CHATEAU AH AH AH AH AH AH AH

              ma carte en GD ne marche pas si je met une condition

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown