Bonjour à tous et excusez-moi par avance si un tel sujet a déjà été posté. J'ai fait plusieurs recherches sans succcès.
J'ai suivi le tutoriel de Cyrano (en javascript pour moi)
faq-tutoriels/formulaires-listes-deroul ... t4562.html
Pour ces listes aucun problème. (super tutorial en passant et encore merci de ton aide )
La première liste est alimenté par ma table "maintenance_site" qui stocke mes différents sites des collaborateurs. (site_id, site_nom)
La seconde liste est alimenté par la table "maintenance_collab" ou sont mes différents collaborateurs.
Ca fonctionne très bien.
En dessous j'ai deux champs, "probleme_description" et "probleme_commentaire" qui sert aux utilisateurs pour expliquer leurs problème (je vais me faire un programme pour mon ami le php

).
J'ai une troisième table "maintenance_probleme" avec les 2 champs cités ci-dessus + un champ "probleme_site" et un "probleme_collab" ou je voudrais enregistrer les données venant des listes. (bien sur un id pour cette table "probleme_id")
voilà le code de ma page :
<?php
//print_r($_POST);
// on se connecte a MySQL
require_once('../adresses/connections/conn.php');
// on sélectionne la base
mysql_select_db(mabase,$conn) or die('Erreur de selection '.mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Description problème</title>
<!--j'ai enlevé tous les metas pour gain de place dans le code sur le forum-->
<!---->
<script type="text/javascript" src="./arrayPHP2JS.js" charset="iso_8859-1"></script> le javascript pour les listes liées
<script type="text/javascript" src="./changeDept.js" charset="iso_8859-1"></script> le javascript pour les listes liées
<!---->
<?php
/* Requête SQL de récupération des données */
$sql = "SELECT collab_id AS idd, collab_nom AS dept, maintenance_site.site_id AS idr, site_nom ".
"FROM maintenance_collab, maintenance_site ".
"WHERE maintenance_collab.site_id = maintenance_site.site_id ".
"ORDER BY maintenance_site.site_id;";
/* Connexion et exécution de la requête */
if($conn != false)
{
$choixbase = mysql_select_db($conn);
$recherche = mysql_query($sql, $conn);
/* Pour ne pas écraser mes tableaux, je crée un témoin */
$temoin_r = 0;
/* Création du tableau PHP des valeurs récupérées */
$regions = array();
/* Index du collaborateur par tableau site */
$id = 0;
while($ligne = mysql_fetch_assoc($recherche))
{
$r = $ligne['idr'];
$d = $ligne['idd'];
/* Je vérifie si je suis toujours dans la même site, sinon je crée les tableaux nécessaires */
if($temoin_r != $r)
{
$regions[$r] = array();
/* J'ajoute le site */
$regions[$r][0] = $ligne['site_nom'];
$regions[$r][1] = array();
$regions[$r][2] = array();
$temoin_r = $r;
$id = 0;
}
/* J'ajoute les collaborateurs*/
$regions[$r][1][$id] = $d;
$regions[$r][2][$id] = $ligne['dept'];
$id++;
}
/* On sérialise le tableau obtenu pour traitement par JavaScript */
$chaine = htmlspecialchars(serialize($regions), ENT_QUOTES);
?>
<script type="text/javascript">
/* <![CDATA[ */
<!--
/*
* Ici, on transmets la chaîne sérialisée à JavaScript
* pour la transformer en tableau indexé JavaScript
*/
var tableau = new PhpArray2Js('<?php echo $chaine; ?>');
var tab = tableau.retour();
// -->
/* ]]> */
</script>
</head>
<body bgcolor="#FFFFFF" onload="document.form1.probleme_description.focus();">
<div align="center">
<table id="Tableau_01" width="950" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="bottom" class="fondhaut"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="28%"> </td>
<td width="69%" align="center"><h1 class="txttitre">Gestion Informatique</h1></td>
<td width="3%"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
<tr>
<td class="fondcentre"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="245"> </td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td colspan="2" align="left" class="txttitre">
<br /><br /><br /><form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<!--<fieldset>-->
<legend><font color="#FFFFFF">Sélectionnez d’abord un site<br /></font></legend>
<select name="site" id="site" onchange="changeDept(tab,this.value);">
<option value="vide">- - - Choisissez un site - - -</option>
<?php
/* Construction de la première liste : on se sert du tableau PHP */
$nbr = count($regions);
foreach($regions as $nr => $nom)
{
?>
<option value="<?php echo($nr); ?>"><?php echo($nom[0]); ?></option>
<?php
}
?>
</select>
<!-- ICI, le secret : on met un bloc avec un id ou va s'insérer le code de
la seconde liste déroulande -->
<br /><br /><font color="#FFFFFF">Sélectionnez un collaborateur</font><br /><span id="blocDepartements"></span>
<!--</fieldset>-->
</form>
<?php
}
?>
</td>
</tr>
<form id="form1" name="form1" method="post" action="add-maintenance.php" onsubmit="">
<tr>
<td align="left" class="txtTitre" bgcolor="#909193">Description du problème </td>
<td align="left"><textarea name="individu_comment" cols="40" rows="8" id="probleme_description" class="champ"></textarea></td>
</tr>
<tr>
<td align="left" class="txtsousTitre" bgcolor="#909193">Ajouter un commentaire</td>
<td align="left"><textarea name="individu_comment" cols="40" rows="4" id="probleme_comment" class="champ"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#909193"><input type="submit" name="button" id="button" value="Envoyer" /></td>
</tr></form>
<tr>
<td colspan="2" align="center" bgcolor="#909193"> </td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#909193"> </td>
</tr>
</table>
<p> </p></td>
<td width="26"> </td>
</tr>
</table></td>
</tr>
<tr>
<td class="fondbas"> </td>
</tr>
</table>
<p> </p>
</div>
</body>
</html>
Alors je sais forcément que ce code ne peut pas fonctionner, car il y a deux <form> distincts et c'est justement mon soucis.
Ma question : comment enregistrer les données des listes + celle posté par l'utilisateur dans les champs description et commentaire dans la même table sous le même id...
Désolé pour la longueur du post mais je voulais détailler au maximum.
Merci à ceux qui pourront m'aider.
PS : je n'ai volontairement pas changé certains bout de code ou vous pouvez apercevoir changedept ou autre. Le tutoriel pour les listes concernaient des départements et des régions.
Bonjour à tous et excusez-moi par avance si un tel sujet a déjà été posté. J'ai fait plusieurs recherches sans succcès.
J'ai suivi le tutoriel de Cyrano (en javascript pour moi) [url]http://forum.phpfrance.com/faq-tutoriels/formulaires-listes-deroulantes-dynamiques-liees-t4562.html[/url]
Pour ces listes aucun problème. (super tutorial en passant et encore merci de ton aide )
La première liste est alimenté par ma table "maintenance_site" qui stocke mes différents sites des collaborateurs. (site_id, site_nom)
La seconde liste est alimenté par la table "maintenance_collab" ou sont mes différents collaborateurs.
Ca fonctionne très bien.
En dessous j'ai deux champs, "probleme_description" et "probleme_commentaire" qui sert aux utilisateurs pour expliquer leurs problème (je vais me faire un programme pour mon ami le php :D ).
J'ai une troisième table "maintenance_probleme" avec les 2 champs cités ci-dessus + un champ "probleme_site" et un "probleme_collab" ou je voudrais enregistrer les données venant des listes. (bien sur un id pour cette table "probleme_id")
voilà le code de ma page :
[php]<?php
//print_r($_POST);
// on se connecte a MySQL
require_once('../adresses/connections/conn.php');
// on sélectionne la base
mysql_select_db(mabase,$conn) or die('Erreur de selection '.mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Description problème</title>
<!--j'ai enlevé tous les metas pour gain de place dans le code sur le forum-->
<!---->
<script type="text/javascript" src="./arrayPHP2JS.js" charset="iso_8859-1"></script> le javascript pour les listes liées
<script type="text/javascript" src="./changeDept.js" charset="iso_8859-1"></script> le javascript pour les listes liées
<!---->
<?php
/* Requête SQL de récupération des données */
$sql = "SELECT collab_id AS idd, collab_nom AS dept, maintenance_site.site_id AS idr, site_nom ".
"FROM maintenance_collab, maintenance_site ".
"WHERE maintenance_collab.site_id = maintenance_site.site_id ".
"ORDER BY maintenance_site.site_id;";
/* Connexion et exécution de la requête */
if($conn != false)
{
$choixbase = mysql_select_db($conn);
$recherche = mysql_query($sql, $conn);
/* Pour ne pas écraser mes tableaux, je crée un témoin */
$temoin_r = 0;
/* Création du tableau PHP des valeurs récupérées */
$regions = array();
/* Index du collaborateur par tableau site */
$id = 0;
while($ligne = mysql_fetch_assoc($recherche))
{
$r = $ligne['idr'];
$d = $ligne['idd'];
/* Je vérifie si je suis toujours dans la même site, sinon je crée les tableaux nécessaires */
if($temoin_r != $r)
{
$regions[$r] = array();
/* J'ajoute le site */
$regions[$r][0] = $ligne['site_nom'];
$regions[$r][1] = array();
$regions[$r][2] = array();
$temoin_r = $r;
$id = 0;
}
/* J'ajoute les collaborateurs*/
$regions[$r][1][$id] = $d;
$regions[$r][2][$id] = $ligne['dept'];
$id++;
}
/* On sérialise le tableau obtenu pour traitement par JavaScript */
$chaine = htmlspecialchars(serialize($regions), ENT_QUOTES);
?>
<script type="text/javascript">
/* <![CDATA[ */
<!--
/*
* Ici, on transmets la chaîne sérialisée à JavaScript
* pour la transformer en tableau indexé JavaScript
*/
var tableau = new PhpArray2Js('<?php echo $chaine; ?>');
var tab = tableau.retour();
// -->
/* ]]> */
</script>
</head>
<body bgcolor="#FFFFFF" onload="document.form1.probleme_description.focus();">
<div align="center">
<table id="Tableau_01" width="950" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="bottom" class="fondhaut"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="28%"> </td>
<td width="69%" align="center"><h1 class="txttitre">Gestion Informatique</h1></td>
<td width="3%"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table></td>
</tr>
<tr>
<td class="fondcentre"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="245"> </td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td colspan="2" align="left" class="txttitre">
<br /><br /><br /><form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<!--<fieldset>-->
<legend><font color="#FFFFFF">Sélectionnez d’abord un site<br /></font></legend>
<select name="site" id="site" onchange="changeDept(tab,this.value);">
<option value="vide">- - - Choisissez un site - - -</option>
<?php
/* Construction de la première liste : on se sert du tableau PHP */
$nbr = count($regions);
foreach($regions as $nr => $nom)
{
?>
<option value="<?php echo($nr); ?>"><?php echo($nom[0]); ?></option>
<?php
}
?>
</select>
<!-- ICI, le secret : on met un bloc avec un id ou va s'insérer le code de
la seconde liste déroulande -->
<br /><br /><font color="#FFFFFF">Sélectionnez un collaborateur</font><br /><span id="blocDepartements"></span>
<!--</fieldset>-->
</form>
<?php
}
?>
</td>
</tr>
<form id="form1" name="form1" method="post" action="add-maintenance.php" onsubmit="">
<tr>
<td align="left" class="txtTitre" bgcolor="#909193">Description du problème </td>
<td align="left"><textarea name="individu_comment" cols="40" rows="8" id="probleme_description" class="champ"></textarea></td>
</tr>
<tr>
<td align="left" class="txtsousTitre" bgcolor="#909193">Ajouter un commentaire</td>
<td align="left"><textarea name="individu_comment" cols="40" rows="4" id="probleme_comment" class="champ"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#909193"><input type="submit" name="button" id="button" value="Envoyer" /></td>
</tr></form>
<tr>
<td colspan="2" align="center" bgcolor="#909193"> </td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#909193"> </td>
</tr>
</table>
<p> </p></td>
<td width="26"> </td>
</tr>
</table></td>
</tr>
<tr>
<td class="fondbas"> </td>
</tr>
</table>
<p> </p>
</div>
</body>
</html>[/php]
Alors je sais forcément que ce code ne peut pas fonctionner, car il y a deux <form> distincts et c'est justement mon soucis.
Ma question : comment enregistrer les données des listes + celle posté par l'utilisateur dans les champs description et commentaire dans la même table sous le même id...
Désolé pour la longueur du post mais je voulais détailler au maximum.
Merci à ceux qui pourront m'aider.
PS : je n'ai volontairement pas changé certains bout de code ou vous pouvez apercevoir changedept ou autre. Le tutoriel pour les listes concernaient des départements et des régions.