Bonjour,
J'ai créé un formulaire qui affiche un tableau dont chaque ligne correspond à un fournisseur.
Pour une machine donnée, dont je récupère le nom_machine, j'affiche ce formulaire en cochant le fournisseur qui lui est associé (code formulaire_modif_fournisseurmachine.php). Ce formulaire s'affiche correctement.
Par contre, le user peut tout à fait modifier ce "tableau à cocher" et en appuyant sur le bouton 'modifier' faire un update sur la table machine en modifiant le fournisseur associé (code modif_fournisseurmachine.php).
Seulement, je n'arrive pas à récupérer la variable id_fournisseur. j'obtiens Array !
Je ne sais pas comment faire... Pouvez-vous m'aider ?
Merci d'avance et bonne journée
Paulinett'
Voici mon code :
modif_fournisseurmachine.php
<HTML>
<HEAD>
<TITLE> Modification des caractéristiques d'une machine </TITLE>
<LINK REL =stylesheet HREF='film3.css' TYPE='text/css'>
</HEAD>
<BODY>
<!-- Récupération des variables pour l'update fournisseur -->
<?php
// Récupération de variables du formulaire
$nom_machine=$_POST['nom_machine'];
echo $nom_machine;
$id_fournisseur=$_POST['fournisseur'];
echo $id_fournisseur;
?>
<H1> Résultat de la mise à jour de votre fournisseur pour la machine <?php echo $nom_machine;?> </H1>
//<?php
// On a besoin de ce fichier pour la connexion
require("Connect.php");
// Connexion au serveur et accès à la base
$connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
mysql_select_db (BASE, $connexion);
// Requete engendrée par la pression du bouton Modifier
if (isSet($_POST['modifier']))
$requete = "UPDATE Machine "
."SET Machine.id_fournisseur=$id_fournisseur"
."WHERE nom_machine='$nom_machine'";
// Exécution de la requête SQL
$resultat = mysql_query($requete,$connexion);
if ($resultat)
echo "<HR> La requête '$requete' a été effectuée.\n";
else
{
echo "La requête n'a pas pu être effectuée pour la raison suivante :"
.mysql_error($connexion);
}
?>
<H2><A HREF="Retour
http://localhost/liste_machine.php">Retour</A><H2>
</BODY>
</HTML>
formulaire_modif_fournisseurmachine.php
<HTML>
<HEAD>
<TITLE> Formulaire de modification du ou des fournisseurs d'une machine </TITLE>
<LINK REL =stylesheet HREF='film3.css' TYPE='text/css'>
</HEAD>
<BODY>
<H1> Formulaire de Modification de lu fournisseur de la machine </H1>
<FORM ACTION="modif_fournisseurmachine.php" METHOD=POST>
<!--------------------------------------->
<!-- RECUPERATION DU NOM DE LA MACHINE -->
<!--------------------------------------->
<?php
$nom_machine =$_POST['nom_machine'];
?>
<H2> Tous les Fournisseurs disponibles </H2>
<H3> Les founisseurs de votre machine <FONT COLOR=red><?php echo $nom_machine ; ?></FONT> sont cochés </H3>
<?php
// Appel le fichier connect.php
require_once("Connect.php");
// Connexion au serveur et accès à la base
$connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
mysql_select_db (BASE, $connexion);
// Ecriture de la 1ere Requete pour sélectionner tous les fournisseurs
$fournisseurs_tous=mysql_query("SELECT id_fournisseur, nom_fournisseur, adresse_fournisseur, codePostal_fournisseur, ville_fournisseur, tel_fournisseur, fax_fournisseur, email_fournisseur, contact_fournisseur FROM Fournisseur",$connexion);
//Ecriture de la 2ème Requete pour sélectionner tous les fournisseurs de la machine
$fournisseurs_machine=mysql_query("SELECT Fournisseur.id_fournisseur FROM Fournisseur, Machine WHERE Machine.nom_machine LIKE '%$nom_machine%'",$connexion);
echo "<CENTER><TABLE BORDER=4 CELLSPACING=2 CELLPADDING=2>"
//."<CAPTION ALIGN=bottom>Table <I>Données Principales</I></CAPTION>"
."<TR><TH>Nom<TH>Adresse<TH>Code Postal<TH>Ville<TH>Téléphone<TH>Fax<TH>Email<TH>Contact<TH>Check</TR>\n";
while($machine_fournisseurs=mysql_fetch_object($fournisseurs_machine))
{
while ($tous_fournisseurs= mysql_fetch_object($fournisseurs_tous))
{
if ($machine_fournisseurs->id_fournisseur == $tous_fournisseurs->id_fournisseur)
{
echo '<TR><TD>'.$tous_fournisseurs->nom_fournisseur.'</TD><TD>'
.$tous_fournisseurs->adresse_fournisseur.'</TD><TD>'
.$tous_fournisseurs->codePostal_fournisseur.'</TD><TD>'
.$tous_fournisseurs->ville_fournisseur.'</TD><TD>'
.$tous_fournisseurs->tel_fournisseur.'</TD><TD>'
.$tous_fournisseurs->fax_fournisseur.'</TD><TD>'
.$tous_fournisseurs->email_fournisseur.'</TD><TD>'
.$tous_fournisseurs->contact_fournisseur.'</TD><TD>'
.'<INPUT TYPE=CHECKBOX NAME="fournisseur[]" VALUE="'.$machine_fournisseurs->id_fournisseur.'" CHECKED></TD></TR>';
}
else
{
echo '<TR><TD>'.$tous_fournisseurs->nom_fournisseur.'</TD><TD>'
.$tous_fournisseurs->adresse_fournisseur.'</TD><TD>'
.$tous_fournisseurs->codePostal_fournisseur.'</TD><TD>'
.$tous_fournisseurs->ville_fournisseur.'</TD><TD>'
.$tous_fournisseurs->tel_fournisseur.'</TD><TD>'
.$tous_fournisseurs->fax_fournisseur.'</TD><TD>'
.$tous_fournisseurs->email_fournisseur.'</TD><TD>'
.$tous_fournisseurs->contact_fournisseur.'</TD><TD>'
.'<INPUT TYPE=CHECKBOX NAME="fournisseur" VALUE="'.$machine_fournisseurs->id_fournisseur.'"></TD></TR>';
}
}
}
echo "</TABLE></CENTER>\n";
?>
<!-- champ caché avec le nom de la machine pour le récupérer pour l'update fournisseur -->
<INPUT TYPE=HIDDEN NAME="nom_machine" VALUE=<?php echo $nom_machine;?>>
<CENTER><H3>Confirmez-vous ce nouveau fournisseur ?</H3></CENTER>
<CENTER><INPUT TYPE=SUBMIT VALUE='Modifier' NAME='modifier'></CENTER>
</FORM>
</BODY>
</HTML>