Bonjour à tous,
j'ai un soucis de code, a vrai dire j'ai toujours eu du mal avec ce genre de boucles.
En fait j'ai pour commencer plusieurs liasses dans ma bdd, ces dernières ont toutes un dénominateurs commun,
donc quand je les affiche, j'y accèdes par un while et comme ces liasses ont vocations à être modifiée, je les affiches directement dans des input,
cela me donne le code suivant:
<form action="#" method="post">
<?php $sql="SELECT * FROM `scenarii` WHERE `code_s`='".mysql_real_escape_string($_GET['code_s'])."'";
$result= mysql_query($sql) or die(__LINE__.mysql_error().$sql);
echo "<table width='100%' id='boxa' align='center' >";
echo "<thead><tr><th scope='col' width='5%'><strong>ID</strong></th><th scope='col' width='5%'><strong>CODE</strong></th><th scope='col' width='20%'><strong>TITRE</strong></th><th scope='col' width='15%'><strong>ACTION</strong></th><th scope='col' width='30%'><strong>DESCRIPTION</strong></th><th scope='col' width='5%'><strong>JOURS</strong></th><th scope='col' width='25%'><strong>ACTIONS</strong></th></tr></thead><tbody>";
$i=0;
while($donnees= mysql_fetch_assoc($result)) {
?>
<tr>
<td><input name="data[][id]" type="text" value="<?php echo strtoupper($donnees['id']) ; ?>" size="5" readonly="readonly" /></td>
<td><input name="data[][code_s]" type="text" value="<?php echo strtoupper($donnees['code_s']) ; ?>" size="10" readonly="readonly" /></td>
<td><input name="data[][titre]" type="text" value="<?php echo strtoupper($donnees['titre']) ; ?>" size="50" readonly="readonly" /></td>
<td><input name="data[][action]" type="text" value="<?php echo strtoupper($donnees['action']) ; ?>" /></td>
<td><input name="data[][libelle]" type="text" value="<?php echo strtoupper($donnees['libelle']) ; ?>" size="50" /></td>
<td><input name="data[][jour]" type="text" value="<?php echo strtoupper($donnees['jour']) ; ?>" size="5" /></td>
<td><a href="javascript:confirmDelete('delete-action-relance.php?id=<?php echo $donnees['id'] ; ?>')"><img src="images/list-delete.png" width="24" height="24" border="0" /></a> <a href="#" onClick="addaction('dynamicInput');"><img src="images/list2-add.png" width="24" height="24" border="0" /></a> <a href="duplicate-action-scenario.php?id=<?php echo $donnees['id'] ; ?>" ><img src="images/copy.png" width="24" height="24" border="0" /></a></td></tr>
<?php } ?> <script src="js/addInput.js" language="Javascript" type="text/javascript"></script>
</tbody>
</table>
j'ai donc dans le code javascript suivant qui peut me rajouter a la volée d'autres champs pour le formulaire:[javascript]counter = 0;
var limit = 25;
function addaction(divName){
if (counter == limit) {
alert("Vous avez atteint la limite de" + counter + " actions");
}
else {
var newtr = document.createElement('tr');
newtr.innerHTML = "<td><input name='data[][id]' type='text' value='' size='5' readonly='readonly' placeholder='AUTOMATIQUE' /></td><td><input name='data[][code_s]' type='text' value='' size='10' placeholder='CODE SCENARIO' /></td><td><input name='data[][titre]' type='text' value='' size='50' placeholder='TITRE DU SCENARIO' /></td><td><input name='data[][action]' type='text' value='' placeholder='ACTION' /></td><td><input name='data[][libelle]' type='text' value='' size='50' placeholder='DESCRIPTION' /></td><td><input name='data[][jour]' type='text' value='' size='5' placeholder='NOMBRE DE JOURS' /></td><td> <img src='images/delete.png' width='24' height='24' alt='supprimer' onClick='removeElement("+counter+");'></td> ";
boxa.appendChild(newtr).setAttribute('id', ""+counter+"");
counter++;
}
}
[/javascript]
Donc en dépit de cela j'essaie d'enregistrer les éléments dans ma base de donnée j'ai donc fair un for each:
<?php if(isset($_POST['go']))
{
foreach($_POST['data'] as $data){
if (!empty($data['code_s'])){
$sql2="DELETE FROM scenarii WHERE code_s='".mysql_real_escape_string($_GET['code_s'])."'";
mysql_query($sql2) or die(__LINE__.mysql_error().$sql2);
$sql7 = '
INSERT INTO scenarii SET
code_s = "'.mysql_real_escape_string($data['code_s']).'",
titre = "'.mysql_real_escape_string($data['titre']).'",
action = "'.mysql_real_escape_string($data['action']).'",
libelle = "'.mysql_real_escape_string($data['libelle']).'",
jour = "'.mysql_real_escape_string($data['jour'])."'" ;
mysql_query($sql7) or die(__LINE__.mysql_error().$sql7);
echo "TERMINE" ;
}
}
}
?>
donc il me dit que j'ai plusieurs erreurs, à priori les variables ne seraient pas définies, je ne comprends pas pourquoi,
car j'ai bien fais en suivant la structure, c'est à dire que la il me dit que mes variables $date['var'] ne sont pas définies.
Par avance merci pour votre aide.