C'est bien que tu ne te sois pas véxé par ma remarque, ce n'étais mon but. Nous avons tous été débutant un jour et le sommes encore

(certain l'ont oublié).
Voici quelques conseils:
Pourquoi mets tu ceci ?
1 2 3 4 5 6 7
| $resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
*
$total = 0;
$mont = 0;
*
*
if(mysql_query($requete)) |
Dans ce cas, ta requête s'exécute 2 fois, dont une pour rien. A ta place je supprimerais le if.
J'ai un peu modifié ton code, mais j'y ai surtout ajouté des commentaires.
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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="#" />
</head>
*
<body>
<h1><center> Liste des factures par client a relancer</center></h1>
*
<a href="../dus/synthese_region.php">Retour au dus de la région v2</a><br><br>
*
-------------------------------------------------
<b> Formulaire de saisi des relances par client et par facture</b>
-------------------------------------------------
*
<form method="POST" action="relance_02.php">
<HR>
<label>Numéro du client : <input type ="text" name= "numero" size="5">
Facture : <input type ="text" name= "facture" size="6"></label></HR><br>
<label>Relance : <input type="text" name="relance" size = "6">
<label>Relance N°1 : <input type="text" name="l_01" size="6"></label>
<label>Relance N°2 : <input type="text" name="l_02" size="6"></label>
<label>Relance N°3 : <input type="text" name="l_03" size="6"></label>
<label>Relance N°4 : <input type="text" name="l_03" size="6"></label>
<input type="submit" name="Modifier" value="Modifier">
*
</form>
*
*
<hr></hr><br>
------------
<b>Requête de récupération des données via ma base mysql (table facture affichage de toute les ligne concernant le client)</b>
------------
<br><br><br>
*
*
<?php
*
//*******************************************************************************************//
// Récupération de la liste des facture du client (via une requête sur ma table facture //
//*******************************************************************************************//
*
include ('../includes/inc_conexion.php');
*
$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>";
*
$requete = "SELECT * FROM facture WHERE id_numero = '00073'";
*
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
*
$total = 0;
$mont = 0;
*
*
while($dus = mysql_fetch_array($resultat)){
// Toutes ces affectations ne sont pas très utiles
// Tu pourrais directement afficher les champ du tableau $dus
$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;
*
// { Cette acolade est a supprimer, il n'y a pas de fonction associée
$ligne .= "<tr>
<td><a href='../includes/#?numero=$id' target='_self'>".$id."</a></td>
<td>".$facture."</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>";
// { idem ici
}
// Tu as oublié de refermer le <tr>
$ligne .= "<tr><td colspan='3'>Total des dus du client N° $id </td><td align='right'>".$total."</td>"; // ici </tr>
*
echo $ligne;
mysql_free_result($resultat);
* |
Maintenant, il faut prendre une décision. Soit tu décide d'avoir toutes les factures du client qui sont affichées dans le tableau avec un bouton de validation en bout de chaque ligne. De cette façon du traite facture par facture. Pour cette option, il faut utiliser des tableau de variable dans ton formulaire.
Soit tu as un lien en face de chaque facture et de cette façon, quand tu click sur ce lien, ta page se recharge avec uniquement la facture concernée en position modification.
La dernière solution qui est la plus élégante mais qui je crois est à réservé pour plus tard, consiste à utliser Javascript. Tu cliques sur un bouton pour éditer la facture et les champs du formulaire en haut de page se remplissent automatiquement, il ne te reste plus qu'a remplir les valeurs nécessaire et à valider le formulaire.
Il y a aussi AJAX, mais c'est une autre histoire.
J'espère que je ne t'ai pas perdu en route ?
Partager