insertion d'une liste de selection effectuée avec checkox
Bonjour à tous, j’ai un problème en voulant fais une insertion dans ma base avec la strategie suivante :
D’abord j’ai afficher le contenu d’une << INSCRIT>> et j’ai fais une selection des enregistrements voulus à l’aide des checkbox et ensuite je recupère les enregistrements sélectionnés dans une autre page via le formulaire de selection.
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
|
// Voici le code me permettant denvoyer les enregistrements cochés dans la page de recupération :
<form method='POST' action='lissection.php'>
<?php
while($sql=mysql_fetch_array($req))
{
print"<tr><th name='num'>".$sql['1']."</th>";
print"<th name=nom>".$sql['2']."</th>";
print"<th name=prenom>".$sql['3']."</th>";
print"<th name='datnaiss'>".$sql['4']."</th>";
print"<th name='lieunaiss'>".$sql['5']."</th>";
print"<th name='sexe'>".$sql['6']."</th>";
print"<th><input type='checkbox' name='avis[]'value=".$sql['0']."></input></th></tr>";
?>
<input type='submit' name='Accepter' Value='Accepter'/>
<input type='reset' name='annuler' Value='annuler'/>
</form>
//au niveau de la page de recupération voilà mon code :
<?php
if(isset($_POST['Accepter'])&& ($_POST['Accepter'])== 'Accepter')
{
if((isset($_POST['avis']) && !empty($_POST['avis'])))
{
foreach($_POST['avis'] as $champ=>$cle)
{
$res=mysql_query('select * from etudiant where num ='.$cle) or die ('<br/>requete select '.mysql_error());
$data=mysql_fetch_array($res);
print"<tr><td name=n°>".$data[1]."</td>";
print"<td name=nom>".$data['2']."</td>";
print"<td name=prenom>".$data['3']."</td>";
print"<td name='datnaiss'>".$data['4']."</td>";
print"<td name='lieunaiss'>".$data['5']."</td>";
print"<td name='sexe'>".$data['6']."</td>";
}
}
//jusquici tout fonctionne et jai la liste des enregistrements cochés la page de récupération
//mon problème est que quand je veux enregistrer cette liste sélectionnée dans la base avec un bouton 'confimer' la liste recupérer ça ne marche pas et jai les msag derreurs suivants :
Notice: Undefined index: avis in C:\wamp\www\LOGICIEL\lissection.php
Warning: Invalid argument supplied for foreach() in C:\wamp\www\LOGICIEL\lissection.php
//le code pour lenregistrement est:
<form method='POST' action='lissection.php'>
<?php
if(isset($_POST['confirmer'])&& ($_POST['confirmer'])== 'confirmer')
{
foreach($_POST['avis'] as $champ=>$cle)
{
$req=mysql_query('select * from etudiant where num ='.$cle) or die ('<br/>requete select '.mysql_error());
$data=mysql_fetch_array($req);
mysql_query('INSERT INTO listretenu VALUES ("","'.$data['1'].'",'.$data['2'].'","'.$data['3'].'","'.$data['4'].'","'.$data['5'].'", "'.$data['6'].'",""'.$data['8'].'")')
or die ('Erreur <br/>'.mysql_error());
}
}
?>
<input type='submit' name='confirmer' Value='confirmer'>
</form> |
aid pour insertion d'une liste de selection effectuée avec checkbox
merci Djakisback , je l'ai mis en pratiq et ça marche:
mon cod final est:
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
|
<form method='POST' action='lissection.php'>
<?php
if(isset($_POST['confirmer'])&& ($_POST['confirmer'])== 'confirmer')
{
foreach($_POST['avis'] as $champ=>$cle)
{
$req=mysql_query('select * from etudiant where num ='.$cle) or die ('<br/>requete select '.mysql_error());
$data=mysql_fetch_array($req);
mysql_query('INSERT INTO listretenu VALUES("","'.$data['1'].'","'.$data['2'].'","'.$data['3'].'","'.$data['4'].'","'.$data['5'].'",
"'.$data['6'].'","'.$data['9'].'","'.$data['24'].'-'.$data['25'].'-'.$data['26'].'","'.$data['27'].'-'.$data['28'].'-'.$data['29'].'",
"'.$data['8'].'","")') or die ('Erreur <br/>'.mysql_error());
}
}
foreach($_POST['avis'] as $cle)
{
print"<input type='hidden' name='avis[]' value=".$cle.'>';
}
<?
<input type='submit' name='confirmer' Value='confirmer'>
</form> |