Requete de mise a jour sur deux table
Bonjour,
J'ai créer récement un projet, et du coup j'ai du refaire une refonte de celui-ci car il y avait un petit problème de mise a jour et de stockage des données.
Auparavant je gérais le tout dans une seule table mais maintenant je dois les gérer dans deux table ci dessous la structure de mes tables
Code:
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
|
CREATE TABLE IF NOT EXISTS `facture` (
`id_numero` varchar(7) NOT NULL,
`facture` varchar(14) NOT NULL,
`intitule` varchar(60) NOT NULL,
`montant` double NOT NULL,
`session` tinytext NOT NULL,
`date_fact` varchar(20) NOT NULL,
`date_echeance` varchar(20) NOT NULL,
`type_fact` varchar(15) NOT NULL,
`annee` varchar(5) NOT NULL,
PRIMARY KEY (`facture`),
UNIQUE KEY `facture` (`facture`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `relance` (
`facture` varchar(14) NOT NULL DEFAULT '',
`relance` varchar(3) NOT NULL,
`l_01` date NOT NULL,
`l_02` date NOT NULL,
`l_03` date NOT NULL,
`l_04` date NOT NULL,
PRIMARY KEY (`facture`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Le fonctionnement est le suivant
A partir d'une page je sélectionne un numéro qui m'envoie sur une autre page avec un formulaire de mise à jour.
La table des relances se remplit au fur et a mesure des des relances c'est à dire lorsque je sélectionne un facture pour la première fois je dois copier le numero de celle-ci dans ma table relance et grace à un udapte je fais la mise à jour.
Voici le code de ma première page :
Code:
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<?php
include('../inc/inc_connexion.php');
$id= $_GET['numero'];
echo "<br>";
echo("$id");
echo "<br>";
$ligne = "<table BORDER=1 BORDERCOLOR=#CCCCCC BGCOLOR=#fffccc CELLSPACING=0 CELLPADDING=1 WIDTH=98% ALIGN=left font-family:Verdana size=10px>
<td bgcolor='#669999'><b><u>Numero</u></b></td>
<td bgcolor='#669999'><b><u>Facture</u></b></td>
<td bgcolor='#669999'><b><u>Libelle</u></b></td>
<td bgcolor='#669999'><b><u>Montant</u></b></td>
<td bgcolor='#669999'><b><u>Date facture</u></b></td>
<td bgcolor='#669999'><b><u>Date echeance</u></b></td>
<td bgcolor='#669999'><b><u>Relance</u></b></td>
<td bgcolor='#669999'><b><u>L 01</u></b></td>
<td bgcolor='#669999'><b><u>L 02</u></b></td>
<td bgcolor='#669999'><b><u>L 03</u></b></td>
<td bgcolor='#669999'><b><u>L 04</u></b></td>
<td bgcolor='#669999'><b><u>Annee</u></b></td>";
if(isset($_GET["numero"]))
{
$req = "SELECT * FROM facture WHERE id_numero = ".$id." ORDER BY facture";
}
else
{
$req = "SELECT * FROM facture WHERE id_numero = ".$id." ORDER BY facture";
}
// Envoi de la requête et récupération des résultats
$res=mysql_query($req)or die(mysql_error()."\n".$req);
$total = 0;
$mont = 0;
if(mysql_query($req))
{
while($dus = mysql_fetch_array($res))
{
$id = $dus['id_numero'];
$facture = $dus['facture'];
$intitule = $dus['intitule'];
$montant = $dus['montant'];
$date_fact = $dus['date_fact'];
$date_echeance = $dus['date_echeance'];
$relance = $dus['relance'];
$l_01 = $dus['l_01'];
$l_03 = $dus['l_02'];
$l_02 = $dus['l_03'];
$l_04 = $dus['l_04'];
$annee = $dus['annee'];
$mont = addslashes($dus['montant']);
$total += $mont;
{
$ligne .= "<tr>
<td>".$id."</td>
<td><a href='../modele/relance_01.php?num=$facture' target='_PARENT'>".$facture."</a></td>
<td>".$intitule."</td>
<td align='right'>".$montant."</td>
<td align='center'>".$date_fact."</td>
<td align='center'>".$date_echeance."</td>
<td align='center'>".$relance."</td>
<td align='center'>".$l_01."</td>
<td align='center'>".$l_02."</td>
<td align='center'>".$l_03."</td>
<td align='center'>".$l_04."</td>
<td align='center'>".$annee."</td></tr>";
}
}
$ligne .= "<tr><td colspan='3'>Total des dus du client N° $id </td><td align='right'>".$total."</td>";
echo $ligne;
}
mysql_free_result($res);
?> |
Copie de ma requete pour mise à jour des relance
Code:
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
|
<?php
$num= $_GET['num'];
$var=$num;
include ('../inc/inc_connexion.php');
$sql ="SELECT id_numero, facture
FROM facture
INNER JOIN relance ON facture.facture = relance.facture
WHERE relance = '$var'";
//$reponse = mysql_query("SELECT * FROM facture WHERE id_numero= '$var' ORDER BY facture");
//$reponse = mysql_query("SELECT * FROM relance WHERE id_numero= '$var' ORDER BY facture");
while ($donnees = mysql_fetch_array($sql) )
{
?>
<HR></HR>
<form method="GET" action="relance_02.php">
<label>Numéro du client : <input type ="text" name= "numero" value="<?php echo $donnees['id_numero']; ?>" size="5">
Facture : <input type ="text" name= "facture" value="<?php echo $donnees['facture']; ?>" size="10">
Relance n° : <input type="text" name="relance" value="<?php echo $donnees['relance']; ?>" size="6"> </label><br>
<label>Relance N°1 : <input type="text" name="l_01" value="<?php echo $donnees['l_01']; ?>" size="6"></label>
<label>Relance N°2 : <input type="text" name="l_02" value="<?php echo $donnees['l_02']; ?>" size="6"></label>
<label>Relance N°3 : <input type="text" name="l_03" value="<?php echo $donnees['l_03']; ?>" size="6"></label>
<label>Relance N°4 : <input type="text" name="l_04" value="<?php echo $donnees['l_04']; ?>" size="6"></label>
<label>Annee : <input type="text" name="annee" value="<?php echo $donnees['annee']; ?>" size="5"></label>
<input type="submit" name="Modifier" value="actualiser">
</form>
<?php
include ('trait_udapte.php');
}
?> |
Pour l'instant je n'ai pas encore finaliser le traitment.
Le problème qui se pose c'est que j'ai rien au niveau de l'affichage (faut-il inclure une condition dans le cas ou la facture n'existe pas dans la table relance)
Merci de votre aide
Espérant avoir été claire sur mon problème
Runcafre91