UPDATE BASE AVEC CHAMPS PAR RAPPORT A JAVASCRIPT [Résolu]

Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
- - Dernière réponse : rafou77
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
- 24 août 2004 à 02:00
Bonjour, voilà j'ai une page qui s'appel taux2.php ou là il ya des champs avec des taux dans une base que je peux mettre à jour sans prob... juste en dessous j'ai quatre champs dans la meme base mais ils ne se mettent pas à jour.

les quatres champ sont en relation par rapport à un script et ce script fait appel à la base des champs taux...

Je sais pas faire plus clair...

Aidez moi svp pour que mes quatre champs se mettent à jour aussi..

Voici une partie du code (le javascript n'est pas complet et les champs non plus mais le principale est là):

<?php include("../inc/conf.php"); ?>
<?php include("verif.php"); ?>
<?php

$req = mysql_query("select * from taeg");
if (mysql_num_rows($req)==0)

{
mysql_close($connect_db);
header("location: index.php");
exit();
}

if ($action == "send")
{

$req = mysql_query("update taeg set montantpub="mnt_credit",dureepub="duree_credit",taegpub="taeg",mensualitepub="mnt_echeance"");

mysql_close($connect_db);
header("location: taux2.php?=&msg=Modifications+effectuées+!");
exit();
}

$taux2500 = mysql_result($req,0,"taux2500");
$taux2501_10000_12 = mysql_result($req,0,"taux2501_10000_12");
$taux2501_10000_24 = mysql_result($req,0,"taux2501_10000_24");
$taux2501_10000_30 = mysql_result($req,0,"taux2501_10000_30");

$montantpub = mysql_result($req,0,"montantpub");
$dureepub = mysql_result($req,0,"dureepub");
$taegpub = mysql_result($req,0,"taegpub");
$mensualitepub = mysql_result($req,0,"mensualitepub");

?>
<?php include("inc/header.php"); ?>

<?php

if ($msg != "")
{
$msg = str_replace("+"," ",$msg);
echo("<center> $msg </center>
");
}

?>
<html>
<head>

LE SCRIPT:

<script language ="JavaScript1.2" type="text/javascript">

// Création d'une fonction faisant office de variable structurée permettant
// de stocker les valeurs dont nous avons besoin
function calc_tmp_0(montant,duree,taux,mensualite,taux_charge)
{
this.montant = montant
this.duree = duree
this.taux = taux
this.mensualite = mensualite
this.taux_charge = taux_charge
}

// Initialisation de la variable structurée
var calc_tmp = new calc_tmp_0(0,0,0,0,0);

// Fonction permettant le calcul de la mensualité suivant si le montant, la durée ou le taux a été modifié
function Calc2(qui,quel)
{
// Boucle permettant de déterminer l'emplacement des champs dont nous avons besoin dans le formulaire
for (var i =0; i<qui.length; i++)
{
if (qui.elements(i).name == "mnt_credit")
{
var pt1 = i;
}
else
{
if (qui.elements(i).name == "duree_credit")
{
var pt2 = i;
}
else{}
if (qui.elements(i).name == "taeg")
{
var pt3 = i;
}
else{}
if (qui.elements(i).name == "mnt_echeance")
{
var pt4 = i;
}
else
{
if (qui.elements(i).name == "taux_charge")
{
var pt5 = i;
}
else{}
}
}
}

// Je stocke mes valeurs dans les différentes variables créées plus haut
calc_tmp.montant = qui.elements(pt1).value;
calc_tmp.duree = qui.elements(pt2).value;
calc_tmp.taux = qui.elements(pt3).value;
calc_tmp.mensualite = qui.elements(pt4).value;

// Suivant...
switch (quel)
{
// que le montant a été modifié
case 1:
if (Calcul()==false)
{
return false;
}
break;
// que la duree a ete modifiee
case 2:
if (Calcul2()==false)
{
return false;
}
break;
//
case 3:
if (Calcul3()==false)
{
return false;
}
break;
}
// Je renvoie le résultat dans les différents champs du formulaire
qui.elements(pt1).value = ToString(calc_tmp.montant);
qui.elements(pt2).value = ToString(calc_tmp.duree);
qui.elements(pt3).value = ToString (calc_tmp.taux);
qui.elements(pt4).value = ToString (Math.floor(calc_tmp.mensualite * 100) / 100);
qui.elements(pt5).value = ToString(calc_tmp.taux_charge);

return true;
}

// VARIABLES GLOBALES
var gduree = 0;
var gtaux = 0;

// crée les rapports montant-duree
// -------------------------------

// Je détermine les montants maximum de base par appport au différentes durées (si 7 durées différentes alors 7 montants)
var montant_duree = new Array(2500,3700,5600,7500,10000,15000,9999999);
// Je détermine les différentes durées de bases
var duree_duree = new Array(30,30,36,42,48,60,84);

var nb_duree = montant_duree.length;

// crée les rapports montant-taux
// ------------------------------

// Je détermine les montants maximums pour lesquels les taux seront permis
var montant_taux = new Array(495.787,2500,10000,9999999);
var nb_montant_taux = montant_taux.length;

// Pour un montant jusqu'à 495 => pour une durée de 12 mois le taux est de 25.50
// => pour une durée de 24 mois le taux est de 24.00
var taux495=new Array();
taux495["12"] = 25.50;
taux495["24"] = 24.00;

// Pour un montant jusqu'à 2500 => pour une durée de 12 mois le taux est de 21.00
// => pour une durée de 24 mois le taux est de 20.50
var taux2500=new Array();
taux2500["12"] = 15.50;
taux2500["24"] = 15.50;
taux2500["30"] = <?php echo("$taux2500"); ?>;
taux2500["36"] = ("le maximum est 30 mois");
taux2500["42"] = ("le maximum est 30 mois");
taux2500["48"] = ("le maximum est 30 mois");
taux2500["60"] = ("le maximum est 30 mois");
taux2500["999"] = ("le maximum est 30 mois");

var taux10000=new Array();
taux10000["12"] = <?php echo("$taux2501_10000_12"); ?>;
taux10000["24"] = <?php echo("$taux2501_10000_24"); ?>;
taux10000["30"] = <?php echo("$taux2501_10000_30"); ?>;

ect......

MES 4 CHAMPS:

</head>

<form action="taux2.php" method="post">





">,
">,
" STYLE="color:#ffffff; background-color:#006699; font-size:12px; font-family:arial; font-weight:bold; border-width:0; text-align:center; border-color:#ffffff" readonly="true">,

" STYLE="color:#ffffff; background-color:#006699; font-size:12px; font-family:arial; font-weight:bold; border-width:0; text-align:center; border-color:#ffffff" readonly="true">

<center></center>
</form>


</html>

<?php include("inc/footer.php"); ?>

MERCI
Afficher la suite 

18 réponses

Meilleure réponse
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
3
Merci
oui je sais ça qu'il faut $ devant mes variables et le probleme vient du script quand je suis sur ma page de modifcation avec mes 4 champs lié çàd qu'il y a un onChange qui se fait par rapport au taux dans le script comme par ex ceci : $taux2501_10000_12 = mysql_result($req,0,"taux2501_10000_12");

le prob c'est que ma requete ne prend pas en consideration le calcul fait par le script et me fait un update de 0 sur les 4 champs.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rafou77
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
3
Merci
ok, j'ai écris trop vite, ajouter ça juste après la ligne mysql_query :

echo "update taeg set montantpub="$mnt_credit",dureepub="$duree_credit",taegpub="$taeg",mensualitepub="$mnt_echeance"";

echo mysql_error();

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de flashfun
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
3
Merci
Je m'en doutais, converti les virgules en points.

Tu avais oublié d'écrire echo mysql_error(); ?

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de flashfun
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
3
Merci
il faut le faire en php pas en javascript.
FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de flashfun
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
3
Merci
tout le script? ohlalala j'en suis incapable...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rafou77
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
3
Merci
Non le changement de la virgule en point.
Juste avant la ligne mysql-query.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de flashfun
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
0
Merci
http://www.phpcs.com/forum.v2.aspx?ID=281325

Pourquoi 2 fois la même question?
Avoue que tu ne sais pas programmer, et que tous ce programme t'as été donné en plusieurs fois sur ce forum.

C'est pas en rassemblant des bouts de code que tu feras quelque chose de bien.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Commenter la réponse de flashfun
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
si tu regardes bien flashfun ce n'est pas la meme question, et je crois qu'ici c'est un forum d'aide non? la programmation que j'ai fait fonctionne très bien, je bloque juste sur un petit truc que j'aimerai rajouter à mon admin et ce n'est pas des bouts de codes que j'ai récupéré, je n'ai pas mis le code entierement parce que je n'en vois pas l'utilité, en plus j'aimerai protéger ceci pour ne pas qu'il soit copié, en attendant ce n'est pas avec ce genre de réponse que je vais avancé n'y avec les autres que tu as posté d'ailleur... alors stp garde tes commentaires dans le vent et laisse les pros m'aider stp ce serait gentil. Merci
Commenter la réponse de rafou77
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
0
Merci
L'ajout du Re : , tu appel ca une différence?

Les 2 messages sont identique.

Ce n'est pas un problème de javascript mais php,
Ce n'est pas une aide qu'il te faut mais des cours.

D'abord tu créer tes variable (dans verif.php je supose).

Ensuite tu utilise tes variable (en php il faut mettre $ devant !) :

$req = mysql_query("update taeg set montantpub="$mnt_credit",dureepub="$duree_credit",taegpub="$taeg",mensualitepub="$mnt_echeance"");

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Commenter la réponse de flashfun
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
ah oui juste j'ai vu que je n'avais pas mis $ devant c'est une erreur dans mon post mais dans mes page c'est fait
Commenter la réponse de rafou77
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
0
Merci
Tu as ajouter les $ qui manque?

Juste en dessous, écris
echo $req;

et dit moi si tu vois les bonne valeurs!

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Commenter la réponse de flashfun
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
ça me met Resource id #7
Commenter la réponse de rafou77
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
tiens c'est bizzard mes valeur sont juste il me met ceci

donc j'ai mes 4 champs je rentre un montant de 9000 quand je vais sur duree le calcul se fait bien automatiquement duree 48 mois pour un taux de 10,7 et une mensualité de 229,16 je clique sur modifier et la il me remet les champs à 0, et me met l'écho comme tu m'as dit de le faire: update taeg set montantpub="9000",dureepub="48",taegpub="10,7",mensualitepub="229,16" bizzard....

mais rien n'est mis à jour dans ma base. par contre je viens de remarquer un truc c'est que quand je l'aisse mes champs à 0 il me fait la mise à jour mais pas quand je rentre quelque chose.
Commenter la réponse de rafou77
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
en tout cas merci de ta patience, c'est vrai que je devrai apprendre un peu plus mais avec le boulot que je fais , je ne peux pas reprendre des cours alors je me débrouille comme je peu avec ce genre de forum.
Commenter la réponse de rafou77
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004
0
Merci
Aucune erreurs n'étaient inscrite?

Copie la ligne directement dans la case SQL de phpmyadmin et dit moi si cela fonctionne.

FlashFun 8-) [mailto:toujours_zen@hotmail.com :question) ]
Commenter la réponse de flashfun
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
en mettant ça dans la case sql
update taeg set montantpub="9000",dureepub="48",taegpub="10,7",mensualitepub="229,16"
il ne me met aucune erreur et fait bien l'update voici le retour:

requête SQL : [Modifier] [Créer source PHP]
UPDATE taeg SET montantpub = "9000",
dureepub = "48",
taegpub = "10,7",
mensualitepub = "229,16"

à part que je dois mettre des points pour qu'il prenne en consideration ce qu'il y a après la virgule çàd :

update taeg set montantpub="9000",dureepub="48",taegpub="10.7",mensualitepub="229.16"

j'avoue que je ne comprend pas ce qui cloche !!! pourquoi ne fait il pas l'update dans ma page tau2.php
Commenter la réponse de rafou77
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
non j'avais pas oublié mais tu as raison c'est là le prob et ça vient du script regarde j'ai ça dans mon script:

buf = String(param);
buf = buf.replace(".",",")

puis:

buf = String(calc_tmp.taux)
buf = buf.replace(",",".")

puis:

buf = String(calc_tmp.taux)
buf = buf.replace(",",".")

et quand je met des points à la place des virgules l'update se fait bien mais evidement le calcul ne se fait plus... donc là on a cerné le prob reste à savoir comment modifier cela...
Commenter la réponse de rafou77
Messages postés
65
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
7 février 2007
0
Merci
alors là je suis sur mon cul il suffisait juste de rajouter dans le <form> le champ

auxquel fait référence le script, je croyais qu'il n'était pas nécessaire à l'update. lol c'était tout con et pourtant il m'a fallut 2 semaines pour trouver ça....

j'ai quand meme rajouté ce que tu m'as dit pour ce qu'il y a après la virgule... çàd ceci : $mnt_echeance = str_replace(",",".",$mnt_echeance);
$taeg = str_replace(",",".",$taeg);

GRAND GRAND MERCI FLASHFUN CAR SANS TOI JE NE SERAI PAS ARRIVE SUR CETTE VOIE...

A BIENTOT POUR DE NOUVELLES AVENTURES :)
Commenter la réponse de rafou77