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 :

Afficher une image par rapport à une distance


Sujet :

Langage PHP

  1. #41
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Lol....

    LIS attentivement la DOC, et les exemples !


  2. #42
    Futur Membre du Club Avatar de Tardoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Mais justement je l'ai déjà FAIT;.C'est pour ça que je pose cette question. J'ai pris la fonction directemnt sur le manuel PHP (sur ton lien) mais j'ai cette erreur et je ne comprend pas ce qui ce passe.

  3. #43
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    ... et les exemples !

    C'est gros comme le nez au milieu de la figure...

  4. #44
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par Tardoss Voir le message
    J'ai pris la fonction directemnt sur le manuel PHP
    Ce que tu dois faire, c'est utiliser la fonction et affecter le résultat à une variable, pas copier la définition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Tlatitude = floatval($mesDonnees['Tlatitude']);

  5. #45
    Invité
    Invité(e)
    Par défaut
    Rhôôôhh, Celira !!!
    C'est pas drôle !


    Tu aurais pu le laisser trouver tout seul !




    N.B. pour info, j'avais déjà fait ce genre d'"erreur" à mes débuts...
    ...pas de quoi être fier...

  6. #46
    Futur Membre du Club Avatar de Tardoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Pour info j'avais fait ça en prenant l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $Slatitude = $mesDonnees['Tlatitude'];
    $Slongitude = $mesDonnees['Tlongitude'];
     
    $Tlongitude = floatval($Slongitude);
    echo $Tlongitude;
     
    $Tlatitude = floatval($Slatitude);
    echo $Tlatitude;
    je m'étais dis que si je stocké les String dans 2 variables PHP différentes puis que je les transformaient en FLOAT ça marcherai (ALERTE SPOILER : j'obtenais 0)

    Je n'avait pas pensé à faire ta syntaxe. Je m'étais après coup dis que la définition c'étais la syntaxe de base et que l'exemple étais pour un cas précis

    Tardoss rien dans le cerveau, tous dans le Fail

    Et Celira t'as fonction ne marche pas j'ai tenté 2 choses (je vais mettre que le début)

    1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $Tlatitude = $mesDonnees['Tlatitude'];
    $Tlongitude = $mesDonnees['Tlongitude'];
     
    $Tlatitude = floatval($mesDonnees['Tlatitude']);
    $Tlongitude = floatval($mesDonnees['Tlongitude']);
    echo $Tlatitude;
    2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $Tlatitude = floatval($mesDonnees['Tlatitude']);
    $Tlongitude = floatval($mesDonnees['Tlongitude']);
    echo $Tlatitude;
    Pour être précis mes float sont égal à 0 et à 0 joie je vais essayer de comprendre où ça coince

    [EDIT] Je suis MAUDIT mon $_POST est passé de "j'ai tes coordonnées tous va bien" à "J'ai pas tes coordonnées", tué moi si vous plaît

    Du coup je met l'AJAX qui étais bon j'ai rien changé
    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
     
    <!DOCTYPE html>
    <html>
       <head>   
       <!-- Prend l'API Google Map et Jquery-->
       <script async defer src="https://maps.googleapis.com/maps/api/js?key=clé_d'api&callback=initMap">
        </script>
     <script
     src="https://code.jquery.com/jquery-3.3.1.min.js">
     </script>
     </head>
       <body>
     
     
     <script type="text/javascript">
     
    //Geolocalisation
    	if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition (function(position) {
                      Tlatitude = position.coords.latitude;
                      Tlongitude = position.coords.longitude;
                      console.log(Tlatitude);
                      console.log(Tlongitude);
                      getGeo(Tlatitude,Tlongitude);
                 });
           }
       //AJAX       
    function getGeo(Tlatitude,Tlongitude){
        $.ajax({
            url :'vueCarrePub.php',
            type:'post',
            data:{'Tlatitude':Tlatitude,'Tlongitude':Tlongitude},
            dataType:'json',
            success:function(data, statut){
                console.log(data); 
            },error:function(xhr, ajaxOptions, thrownError, statut){
                alert('Error : ' + xhr.responseText +' '+ajaxOptions+' '+xhr.status+' '+thrownError);
            }
        });
    }
     
       </script>
     </body>
       </html>
    Non parce que j'ai compris l'AJAX c'est bon les exos ils sont fait et BIEN fait.

  7. #47
    Invité
    Invité(e)
    Par défaut
    Bon.
    En fait, tu n'as pas "tout"compris à Ajax...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       $.ajax({
            url :'vueCarrePub.php',
            type:'post',
            data:{'Tlatitude':Tlatitude,'Tlongitude':Tlongitude},
            dataType:'json',
    type:'post'
    Dans vueCarrePub.php : Les données se récupèrent via $_POST.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    require "connexionBdd.php";
     
    $Tlatitude = floatval ( $_POST['Tlatitude'] );
    $Tlongitude = floatval ( $_POST['Tlongitude'] );
    N.B. dataType:'json : c'est pour le retour vers JS.
    On peut aussi fait un retour en HTML : dataType:'html

  8. #48
    Futur Membre du Club Avatar de Tardoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    En fait, tu n'as pas "tout"compris à Ajax...
    Ou comment me brisé mentalement:'(

    Sinon toujours rien dans mes $Tlatitude et $Tlongitude (avec ce que tu m'as donné) . Je crois que mon cerveau n'aime pas la programmation .
    J'ai aucune idée de quoi faire du coup X(.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    require "connexionBdd.php";
     
    $Tlatitude = floatval($_POST['Tlatitude']);
    $Tlongitude = floatval($_POST['Tlongitude']);
    echo $Tlatitude;
    var_dump ($longitude);

    P.S : j'ai essayé de voir avec un echo et un var_dump au cas où mais le résultat est respectivement : 0 et NULL + Warning: Invalid argument supplied for foreach() (logique)

  9. #49
    Invité
    Invité(e)
    Par défaut
    Dans ton script JS, Tlatitude et Tlongitude donnaient les bons résultats ?

    Teste si tes valeurs sont bien transmises...

    Dans vueCarrePub.php, mes des données "en dur", et teste le fichier directement (Sans passer par Ajax)
    Mets des echo, var_dump...


    (j'aurais voulu tester moi-même, mais je n'ai pas de clé_d'api pour maps.googleapis...)

    QUESTION bête : dans <script async defer src="https://maps.googleapis.com/maps/api/js?key=clé_d'api&callback=initMap"></script>,
    tu as bien remplacé "clé_d'api" par TA PROPRE API key ?
    Dernière modification par Invité ; 03/07/2018 à 15h44.

  10. #50
    Futur Membre du Club Avatar de Tardoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Dans le JS je récupère bien mes coordonnées et je n'ai aucune erreur dans console.log.

    Les valeurs ne sont pas transmises.

    Avec des données brut j'ai toujours la même erreur (bizzare ).

    Au question bête je répond toujours par un meme et le voici : OF COURSE. je met volontairement clé_API dans le forum pour eviter qu'un petit malin prennent ma clé d'API et utilise tous le quota à ma place.

    [EDIT]
    J'ai trouvé comment résoudre beaucoup de problème :

    1 - je debuger pas au bonne endroit
    2 - dans mon foreach c'étais un variable jamais utilisé
    3 - Maintenant le problème est situé dans mon foreach et mes if,et c'est le data de mon AJAX qui est vide ( ET OUI JE N OBTIENT RIEN )

    PHP :
    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
     
    <?
     
    require "/home/captusrn/www/stage/connexionBdd.php";
     
    $Tlatitude = floatval($_POST['Tlatitude']);
    $Tlongitude = floatval($_POST['Tlongitude']);
     
    echo $_POST;
    echo $Tlatitude;
     
     
    $stmtImage = $connexionBdd->prepare("SELECT latitudePropiétaires, longitudePropiétaires, cheminImage from Propiétaires join Images on Images_idImages.idImages WHERE latitudePropiétaires BETWEEN :minLat AND :maxLat AND longitudePropiétaires BETWEEN :minLong AND :maxLong");
    $stmtImage->execute(
        array(
            ':minLat' => $Tlatitude - 0.02,
            ':maxLat' => $Tlatitude + 0.02,
            ':minLong' => $Tlongitude - 0.02,
            ':maxLong' => $Tlongitude + 0.02
        )
    );
     
    echo $Tlatitude;
    $array_Propiétaires = $stmtImage->fetchall();
     
      echo $array_Propiétaires;
    if($array_Propiétaires)
    foreach( $array_Propiétaires as $i => $ImageRow ) {
        $latitude = $ImageRow['latitudeImage'];
        $longitude = $ImageRow['longitudeImage'];
        $cheminImage = $ImageRow['cheminImage'];
     
        $validCoord = false;
        if (($Tlatitude - 0.01) >= $latitude && ($Tlatitude - 0.02) < $latitude) {
            echo "OK 1";
            $validCoord = true;
        } elseif (($Tlongitude + 0.01) <= $longitude && ($Tlongitude + 0.02) > $longitude) {
            echo "OK 2";
            $validCoord = true;
        }
        elseif (($Tlatitude + 0.01) <= $latitude && ($Tlatitude + 0.02) > $latitude) {
            if (($Tlongitude - 0.01) >= $longitude && ($Tlongitude - 0.02) < $longitude) {
                echo "OK 3";
                $validCoord = true;
     
            } elseif (($Tlongitude + 0.01) <= $longitude && ($Tlongitude + 0.02) > $longitude) {
                echo "OK 4";
                $validCoord = true;
            } else {
                echo "KO 5";
            }
        } else {
            echo "KO 6";
        }
        if ($validCoord) {
            $chemin = $cheminImage;
            break; // on sort de la boucle dès qu'on a trouvé quelque chose
        }
    }
    var_dump($chemin);
     
    ?>
    Javascript
    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
     
    <!DOCTYPE html>
    <html>
       <head>   
       <!-- Prend l'API Google Map et Jquery-->
       <script async defer src="https://maps.googleapis.com/maps/api/js?key=clé_API&callback=initMap">
        </script>
     <script
     src="https://code.jquery.com/jquery-3.3.1.min.js">
     </script>
     </head>
       <body>
     
     <script type="text/javascript">
     
    //Geolocalisation
    	if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition (function(position) {
                      Tlatitude = position.coords.latitude;
                      Tlongitude = position.coords.longitude;
                      console.log(Tlatitude);
                      console.log(Tlongitude);
                      getGeo(Tlatitude,Tlongitude);
                 });
           }
       //AJAX       
    function getGeo(Tlatitude,Tlongitude){
    	console.log(Tlatitude);
    	console.log(Tlongitude);
        $.ajax({
            url :'vueCarrePub.php',
            type:'post',
            data: 'Tlatitude='+Tlatitude+'&Tlongitude='+Tlongitude,
            dataType:'html',
            success:function(data){
                console.log(data); 
            },error:function(xhr, ajaxOptions, thrownError, statut){
                alert('Error : ' + xhr.responseText +' '+ajaxOptions+' '+xhr.status+' '+thrownError);
            }
        });
    } 
       </script>
     
       </body>
       </html>

Discussions similaires

  1. Afficher une image par rapport à sa miniature
    Par mrdesign38 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 11/10/2012, 14h23
  2. Recaler une image par rapport à une autre
    Par le pingouin fou dans le forum OpenCV
    Réponses: 2
    Dernier message: 14/10/2011, 10h22
  3. Placer une image par rapport à une autre
    Par ProjetTram dans le forum Images
    Réponses: 1
    Dernier message: 03/03/2009, 17h01
  4. Afficher et cacher une image par rapport au survol d'une zone
    Par asie86 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/01/2008, 13h48
  5. Réponses: 4
    Dernier message: 24/01/2006, 13h18

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