par
Afrodite » 30 août 2010, 14:28
Bonjour,
Je bute sur la récupération d'une variable sql sous forme de tableau dans un formulaire.
J'ai une table "vidéo" avec un champ "id_mot" qui contient le champ "nom_mot" ou "alias" de la table "motscle".
Je cherche donc à mettre à jour le champ "id_mot" (vidéo) qui contient plusieurs mots (ex: pau, sport).
Note : il y à peut être plus simple pour récupérer les données sous formes de colonnes par "type, mais je n'ai pa su trouver.
<table border="0" cellspacing="0" cellpadding="5">
<tr valign="top">
<td> <?php
$sql = "SELECT * FROM motscle WHERE etat='on' AND type='Rubrique'";
$result = mysql_query($sql) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) { ?>
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td><h2>Rubrique</h2></td>
</tr>
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr>
<td>
<input name="id_mot" type="checkbox" value="id_mot" />
<?php echo $row[alias]; ?>
<?php }} ?>
</td></tr></table></td>
<td> <?php $sql = "SELECT * FROM motscle WHERE etat='on' AND type='Partenaire'";
$result = mysql_query($sql) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) { ?>
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td><h2>Partenaire</h2></td>
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr>
<td> <input name="id_mot" type="checkbox" value="nom_mot[]" />
<?php echo $row[alias]; ?>
<?php }} ?>
</td></tr></table></td>
<td> <?php $sql = "SELECT * FROM motscle WHERE etat='on' AND type='Thématique'";
$result = mysql_query($sql) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) { ?>
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td><h2>Thématique</h2></td>
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr>
<td> <input name="id_mot" type="checkbox" value="nom_mot[]" />
<?php echo $row[alias]; ?>
<?php }} ?>
</td></tr></table></td>
<td>
<?php $sql = "SELECT * FROM motscle WHERE etat='on' AND type='Ville'";
$result = mysql_query($sql) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) { ?>
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td><h2>Ville</h2></td>
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr valign="top">
<td> <input name="id_mot" type="checkbox" value="nom_mot[]" />
<?php echo $row[alias]; ?>
<?php }} ?>
</td></tr></table></td>
<td>
<?php $sql = "SELECT * FROM motscle WHERE etat='on' AND type='Type'";
$result = mysql_query($sql) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) { ?>
<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td><h2>Type</h2></td>
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr valign="top">
<td> <input name="id_mot" type="checkbox" value="nom_mot[]" />
<?php echo $row[alias]; ?>
<?php }} ?>
</td></tr></table></td></tr></table>
.
Le formulaire est traité comme suit :
// vérifions que la variable a été transmise
$id_mot = (isset($_POST['id_mot']))?$_POST['id_mot']:null;
//$id_mot = array();
//while($tab[] = mysql_fetch_array($req)){}
//echo implode(",",$id_mot);
//echo "Voici les motd cle que vous avez choisi :<br>";
// bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées
if (!empty($id_mot)) {
echo array_values($id_mot) ;
echo $id_mot ;
foreach($id_mot as $cle => $val){
echo $cle;
echo count ($id_mot);
$n = count($id_mot)-1;
if($cle == $n){
$listenom .= $val;
}else {
$listenom .= $val.",";
}
}
}
ce qui me génère un beau
Warning: array_values() [function.array-values]: The argument should be an array in /homez/update-video.php on line 64
id_mot
Warning: Invalid argument supplied for foreach() in /homez/update-video.php on line 67
toute aide est bienvenue pour résoudre ce soucis, merci