2010-07-19 6 views
0

J'essaye d'implémenter un tableau dans un $ _POST []. Je fais cela à l'intérieur d'une boucle qui recherche des valeurs dans ~ 31 tableaux ... $ _ POST ['1'], $ _POST ['2'], $ _POST ['3'], etc.

I je essaie de le faire avec:

while($i <= $_SESSION['daysInMonth']){ 

$month = $_SESSION['month']; 
$day = $i; 
$names = implode(',',$_POST['names_'.$i]); 
$region = $_SESSION['region']; 
$date = date("Y").'-'.$month.'-'.$day; 

echo("$names"); 

$i++; 

}

Je reçois l'erreur suivante, cependant:

Attention: implode() [function.implode]: les arguments non valides passés dans/home/content/r/e/s/reslife4/html/duty/schedule.php à la ligne 15

Voici comment je crée les $ _POST [] variables:

<?php $i=1; while($i <= $daysInMonth){?> 
      <table align="center" style="width: 435px"> 
       <tr> 
        <td class="style1"><p><select name="names_<?php echo($i); ?>[]" multiple="multiple"> 
        <?php foreach($email_array as $arr){ ?> 
         <option><?php echo($arr); ?></option> 
        <?php } ?> 
        </select></p></td> 
       </tr> 
      </table> 
<?php $i++; }?> 

Quelqu'un peut-il voir ce que je fais mal?

Merci!

Répondre

2

Si vous transmettez autre chose qu'un tableau à imploser (par exemple, lorsqu'aucune option n'a été sélectionnée), vous recevrez l'avertissement. Vous pouvez imploser sous condition:

if (!empty($_POST['names_'.$i])) 
// implode 

ou coulé à tableau:

$names = implode(',', (array)$_POST['names_'.$i]); 
0
<select name="names[]" multiple="multiple"> 
<option value="<?php echo($arr); ?>"><?php echo($arr); ?></option> 

<?php foreach($_POST['names'] as $key => $value): 
    echo $value; 
?> 
0
while($i <= $_SESSION['daysInMonth']){ 
    $names = (array)$_POST['names_'.$i]; 
    $month = $_SESSION['month']; 
    $day = $i; 
    $names = implode(',',$names); 
    $region = $_SESSION['region']; 
    $date = date("Y").'-'.$month.'-'.$day; 

    echo("$names"); 

    $i++; 
}