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

JavaScript Discussion :

récupération de variables d'un tableau dans 1 autre tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Par défaut récupération de variables d'un tableau dans 1 autre tableau
    Bonjour,

    je cherche à calculer un tarif de location pour plusieurs bus à partir de variables calculées dans un formulaire (km et jours) et de coefficients stockés dans une base de données.
    mon calcul fonctionne pour 1 ligne du tableau de bus. je bloque pour stocker et calculer les variables de la base de données.


    pour l'instant, je récupère la dernière ligne de ma table de bdd.
    je n'arrive pas à récupérer les coefficients de toutes les lignes de ma table et à faire les calculs de tarifs correspondants.
    je dois afficher tous les bus avec leur tarif et le client choisi celui qu'il veut.
    c'est moi qui bloque pour l'écriture du tableau...

    si quelqu'un peut m'aider...merci.

    calcul_tarif.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
     
    <?php
     
    session_start();
    //déclaration bdd
    include("config.php");
     
    if(isset($_GET['km1']) && !empty($_GET['km1']) && isset($_GET['jour1b']) && !empty($_GET['jour1b'])){
    	$retour = '';
    	$km = $_GET['km1'];
    	$jour = $_GET['jour1b'];
    	$i = 0;
    	mysql_query("UPDATE categories SET nbkm='$km',nbjour='$jour'") or die ("erreur requete".mysql_error(à));
    	$sql = "SELECT * FROM categories ";
    	$req = mysql_query($sql) or die( mysql_error());
    	$nbrRep = mysql_num_rows($req);
    	if($nbrRep > 0){
    		while($r = mysql_fetch_assoc($req)){
    		$retour .= $r['id_cat'].'-'.$r['nbkm'].'-'.$r['nbjour'].'*'.$r['coeff1'].'*'.$r['coeff2'].'*'.$r['coeff3'].'*'.$r['coeff4'].'*'.$r['coeff5'].'*'.$r['coeff6'].'*'.$r['coeff7'].'*'.$r['coeff8'];
    		$i++;
    		if($i != $nbrRep)
    		$retour .= '/';
    		}
    		echo $retour;
    	}else
    		echo false;
    }else
    	echo false;
    ?>
    le 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
     
    function AJAX2(url){
    	if(window.XMLHttpRequest) // FIREFOX
    		xhr_object = new XMLHttpRequest();
    	else if(window.ActiveXObject) // IE
    		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    	else
    		return(false);
    	xhr_object.open("GET", url, false);
    	xhr_object.send(null);
    	if(xhr_object.readyState == 4){
    		return xhr_object.responseText;
    	}
    	else return(false);
    } 
     
    function CalculateTarif(){
     
    			var km1=document.forms['the_form'].elements['result'].value
    			var jour1b=document.forms['the_form'].elements['jour1b'].value
    			var rep;
    			var tarif;
    			var tmp;
    			if(!(rep = AJAX2('calcul_tarif.php?km1='+km1+'&jour1b='+jour1b))){
    				alert('Erreur requête AJAX !');
    			}else{
    			rep = rep.split('/');
    			for(var i = 0 ; i < rep.length ; i++){
    			tmp = rep[i].split('*');
    			if(tmp[0] != '')
    			t = km1*jour1b*tmp[2];
    			}
    			e = parseInt(t);
    			return e;
    			}
     
     
    		}
    et le formulaire the_form (result et jour1b sont bien alimentés plus haut dans le formulaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <td><div align="right">Trouver un bus  :</div></td>
    		<td><input	type="button" value="bus" onClick="tarif.value = CalculateTarif()"/>
    			<input name="tarif" id="tarif" value="" size="5"/></td>

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu utilises la methode synchrone dans la fonction AJAX2 donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function AJAX2(url){
    	if(window.XMLHttpRequest) // FIREFOX
    		xhr_object = new XMLHttpRequest();
    	else if(window.ActiveXObject) // IE
    		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    	else
    		return(false);
    	xhr_object.open("GET", url, false);
    	xhr_object.send(null);
    	return xhr_object.responseText;
    }
    A+.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Par défaut
    j'ai déjà mis cette fonction juste au-dessus de la fonction CalculateTarif.
    c'est au niveau de la syntaxe que je bloque.
    je récupère km et jour calculés plus haut dans mon formulaire.
    j'appelle ma fonction js qui appelle un fichier php qui met à jour ma bdd puis sélectionne les coefficients de toutes mes lignes (des minibus) de la bdd.
    et là, normalement, je récupère les coefficients de chaque ligne de bus pour calculer un tarif pour chaque ligne de bus. que je veux afficher dans un tableau dans mon formulaire.
    et je suis perdue...
    je récupère la dernière ligne de mon tableau.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Oui mais tu appelles la fonction AJAX2 qui est faux dans la fonction CalculateTarif().

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Par défaut
    ok, je n'avais pas vu la dernière ligne. j'ai modifié.

    mais mon gros problème est dans la syntaxe :
    j'en suis là : je récupère la dernière ligne de coeff. je ne sais pas comment récupérer les coeffs, faire les calculs et les afficher tous dans le tableau du formulaire. je me mélange les pinceaux entre le tableau des coeff, le tableau avec le calul et le tableau d'affichage...

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Je ne te comprend pas là?
    onClick="tarif.value = CalculateTarif()"
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="document.getElementById('tarif').value = CalculateTarif()"

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/02/2021, 10h49
  2. Réponses: 2
    Dernier message: 18/02/2014, 14h13
  3. Copier une partie d'un tableau dans un autre tableau
    Par sdecorme dans le forum MATLAB
    Réponses: 9
    Dernier message: 23/08/2013, 10h36
  4. passer un tableau dans un autre tableau
    Par lrgtk dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 07/09/2010, 19h11
  5. création de tableau dans un autre tableau
    Par freestyler dans le forum Delphi
    Réponses: 2
    Dernier message: 02/11/2006, 08h54

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