2009-02-16 6 views
1

Si j'ai une boucle qui demande les données de mon formulaire:Comment ajouter des données à partir d'un formulaire PHP dans un tableau?

for ($i=0;$i < count($_POST['checkbx']);$i++) 
    { 
    // calculate the file from the checkbx 
    $filename = $_POST['checkbx'][$i]; 
    $clearfilename = substr($filename, strrpos ($filename, "/") + 1); 

    echo "'".$filename."',";  

    } 

comment puis-je ajouter que dans le tableau exemple ci-dessous ?:

$ fichiers = array ( 'files.extension', 'files.extension', );

Répondre

0

Probablement comme ceci:

for ($i=0;$i < count($_POST['checkbx']);$i++) { 
// calculate the file from the checkbx 
$filename = $_POST['checkbx'][$i]; 
$clearfilename = substr($filename, strrpos ($filename, "/") + 1); 

$files[] = $filename; // of $clearfilename if that's what you wanting the in the array 
} 
1
$files[] =$filename; 

OU

array_push($files, $filename); 
2

Rappelez-vous que vous devez également nommer ces cases à cocher en HTML avec "[]" après leur nom. par exemple:

<input type="checkbox" name="checkbx[]" ...etc... > 

Vous serez alors en mesure d'y accéder ainsi:

<?php 

// This will loop through all the checkbox values 
for ($i = 0; $i < count($_POST['checkbx']); $i++) { 
    // Do something here with $_POST['checkbx'][$i] 
} 

?> 
0

Je ne suis pas tout à fait sûr de ce que vous voulez ajouter à ce tableau, mais voici la méthode générale de « pousser 'données dans un tableau en utilisant php:

<?php 
$array[] = $var; 
?> 

par exemple, vous pouvez faire:

for ($i=0;$i < count($_POST['checkbx']);$i++) 
{ 
    // calculate the file from the checkbx 
    $filename = $_POST['checkbx'][$i]; 
    $clearfilename = substr($filename, strrpos ($filename, "/") + 1); 

    echo "'".$filename."',";  
    $files[] = $filename; 
} 
5

encore plus petit:

$files = array(); 
foreach($_POST['checkbx'] as $file) 
{ 
    $files[] = basename($file); 
} 

Si vous n'êtes pas absolument sûr que $_POST['checkbx'] existe et est un tableau, vous devez prolly faire:

$files = array(); 
if (is_array(@$_POST['checkbx'])) 
{ 
    foreach($_POST['checkbx'] as $file) 
    { 
     $files[] = basename($file); 
    } 
} 
1

Vous pouvez utiliser la fonction array_push:

<?php 
$stack = array("orange", "banana"); 
array_push($stack, "apple", "raspberry"); 
print_r($stack); 
?> 

Donne:

Remplissez simplement le tableau en utilisant array_push pour chaque fichier.

Questions connexes