UPDATE BASE AVEC CHAMPS PAR RAPPORT A JAVASCRIPT

rafou77 Messages postés 65 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 7 février 2007 - 19 août 2004 à 19:08
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004 - 21 août 2004 à 01:15
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

9 réponses

flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
20 août 2004 à 20:21
J'ai pas compris ton explication, mais modifie ca pour voir :

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

FlashFun 8-)
0
rafou77 Messages postés 65 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 7 février 2007
20 août 2004 à 21:02
ça ne marche toujours pas flahfun, mes quatres champs ne veulent pas se mettre à jour.... peux tu m'aider stp
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
20 août 2004 à 21:30
Si tu veux mettre à jour, tu doit inséré un "where"
mysql_query("update taeg set montantpub='mnt_credit',dureepub='duree_credit',taegpub='taeg',mensualitepub='mnt_echeance'
where ...='...' ");

Si tu veux ajouter une nouvelle ligne, tu doit utiliser "insert ...".

FlashFun 8-)
0
rafou77 Messages postés 65 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 7 février 2007
20 août 2004 à 21:50
excuse moi de te déranger encore mais where ... et puis après?
et ou?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
20 août 2004 à 21:57
Ca dépend du contenu de ta table, where indique la ligne que tu doit MaJ.
par exemple : where id='1'

FlashFun 8-)
0
rafou77 Messages postés 65 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 7 février 2007
20 août 2004 à 22:38
j'ai tout essayé je vois ou il fait mettre les where etc... mais toujours rien, j'ai remarqué un truc quand j'enleve le script ça fonctionne...

Mes 4 champs ---> font appel au script pour la fonction de calcul des des taux par rapport à la durrée et au montant par la fonction onChange="Calc2(this.form,1)" ou onChange="Calc2(this.form,2)" les taux sont représenté par var taux10000=new Array();
taux10000["12"] = <?php echo("$taux2501_10000_12"); ?>; dans le script qui ceux là font appel à la base taeg $taux2501_10000_12 = mysql_result($req,0,"taux2501_10000_12"); ou les taux sont déffini.

le calcul dans mes quatre champs se fait sans prob mais une fois le calcul fait j'aimerai que le résultat se mette à jour dans ma base taeg ou ou mes 4 champs sont défini, mais là ça bloque !!!

ça fait 2 semaines que je cherche et pas moyen

merci FlashFun de m'aider...

Mes 4 champs:

<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>
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
20 août 2004 à 22:53
Je voulais ta table MySQL.

FlashFun 8-)
0
rafou77 Messages postés 65 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 7 février 2007
21 août 2004 à 00:58
CREATE TABLE taeg (
id int(11) NOT NULL auto_increment,
taux2500 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_12 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_24 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_30 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_36 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_42 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_48 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_60 decimal(15,2) NOT NULL default '0.00',
taux2501_10000_999 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_12 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_24 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_30 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_36 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_42 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_48 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_60 decimal(15,2) NOT NULL default '0.00',
taux10001_99999_999 decimal(15,2) NOT NULL default '0.00',
montantpub int(20) NOT NULL default '0',
dureepub int(5) NOT NULL default '0',
taegpub decimal(15,2) NOT NULL default '00.00',
mensualitepub decimal(15,2) NOT NULL default '00.00',
PRIMARY KEY (id)
) TYPE=MyISAM;

voilà merci
0
flashfun Messages postés 296 Date d'inscription mercredi 10 septembre 2003 Statut Membre Dernière intervention 11 septembre 2004
21 août 2004 à 01:15
Ta base de donné contiendra toujours une seul ligne.

Vue que tu doit être très débutant en Mysql et php, je te conseil d'utilisé un fichier txt, Car ca te seras bcp plus facile.

Il faudrais refaire la base de données (à 1 ligne de donnée ;o).
Et toutes ta page n'est pas très bien réfléchie.

Revoie tout ton programme sur papier, et te demandant tous ce qu'il doit faire et pas faire.

Bonne chance, et bonne nuit.

@+

FlashFun 8-)
0
Rejoignez-nous