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 :

Resultat de calcul d'une fonction PHP dans un tableau


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 Resultat de calcul d'une fonction PHP dans un tableau
    Bonjour,

    j'utilise la fonction suivante pour faire un calcul de distance

    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
    for ($i=0; $i<count($table)-1;$i++)
    	{
    		//Point A puis B puis c
    		$lat1 = 47.658669;
    		$lng1 = -2.754000;	
     
    		//point B puis c puis D
    		$lat2 = $table[$i+1]['lat'];
    		$lng2 = $table[$i+1]['lng'];	
     
    		$distance_total = distance($lat1, $lng1, $lat2, $lng2);
     
    $i++
    		;
     
    	}
    Je voudrais savoir comment faire pour faire un tableau avec tous les resultats de $distance_total.

    Merci de votre reponse

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    Code php : 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
     
    $tab = array();
     
    for ($i=0; $i<count($table)-1;$i++)
    	{
    		//Point A puis B puis c
    		$lat1 = 47.658669;
    		$lng1 = -2.754000;	
     
    		//point B puis c puis D
    		$lat2 = $table[$i+1]['lat'];
    		$lng2 = $table[$i+1]['lng'];	
     
    		$tab[] = distance($lat1, $lng1, $lat2, $lng2);
     
    $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
    ok merci mais comment faire pour faire une selection pour recuperer seulement certains resultats:

    j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM menu where $tab[] < 100  ";
    mais j'obtiens une erreur

    ERREUR MYSQL numéro: 1054
    Type de cette erreur: Unknown column 'Array' in 'where clause'

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Même en dehors du problème de tableau, ta requête n'a pas de sens.
    Dans une requête on compare un champ de la table avec une valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM menu WHERE un_champ < 100

  5. #5
    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
    Je comprend ce qui ne va pas, mais alors c'est quoi le truc pour recuperer tous les ID des lignes de $table lorsque le resultat $tab[] est plus petit que 100.

    par exemple avec

    $tab[0] = 52
    $tab[1] = 85
    $tab[2] = 152

    je voudrais faire un select des ID [0] et [1] dans ma BDD car se sont les seul plus petit que 100.

    Je suis perdu. Auriez vous des exemples similaires a ce que je recherche.

    Merci

  6. #6
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonsoir,

    il faut que tu crées une requête du type :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM maTable WHERE id IN (1, 2, 3, 4, 5);

    il faut donc que tu crées le IN dynamiquement en fonction de ton tableau. Par un foreach par exemple :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $in = '';
     
    foreach($tab as $cle=>$valeur)
        if($valeur < 100)
            $in .= $cle.',';
     
    // on supprime la dernière virgule de trop...
    $in = rtrim($in, ',');
     
    $requete = 'SELECT * FROM maTable WHERE id IN ('.$in.')';

  7. #7
    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 a l'air de fonctionner. Merci beaucoup. je ne m'en serais pas sortie tout seul

Discussions similaires

  1. [XSLT]Probléme avec une fonction php dans un fichier xsl!
    Par Mo_Poly dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 29/10/2007, 08h32
  2. Appel d'une fonction PHP dans un formulaire
    Par Mut dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2007, 12h34
  3. [SQL] comment "desactiver" une fonction php dans une page?
    Par horas dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/05/2007, 16h04
  4. [Mail] Inclure une fonction php dans un mail
    Par Tobleron dans le forum Langage
    Réponses: 12
    Dernier message: 26/02/2007, 15h23
  5. Réponses: 3
    Dernier message: 06/11/2005, 19h02

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