ich mehrere Arrays mit einer Checkbox Formular abzuschicken bin versucht, aber ich bin nur in der Lage ein Array zur Zeit vorlegen, hier ist das, was ichWie mehrere Array Checkbox mit HTML-Formulare einreichen
In diesem Beispiel bisher haben Ich reiche ein Array von Zahlen mit dem delete[]
Array, dieses Array wird ordnungsgemäß verarbeitet, ich möchte auch das Array senden condition[]
das wird nicht richtig verarbeitet, was ist der beste Weg, um dieses Problem zu lösen?
PHP-Code
$catalog = $database->getInventory();
if($catalog){
$numRows = sizeof($catalog);//count
echo "<b>Book Count:</b> ".$numRows."<br>";
echo "<form method='post' action='inventory.php'>";
echo "<table id='example' class='tablesorter' border='0' cellpadding='0' cellspacing='1'>";
echo "
<thead>
<tr>
<th>ISBN</th>
<th>Title </th>
<th>Rank </th>
<th>Condition </th>
<th><input type='checkbox' name='delete' value='all' /></th>
</tr>
</thead>\n";
foreach($catalog as $elem){
echo "
<tr>
<td>".$elem["isbn"]."</td>
<td>".$elem["title"]."</td>
<td>".$elem["rank"]."</td>
<td>".$elem["condition"]."</td>
<td>
<input type='checkbox' name='add[]'
value='".$elem['isbn']."_".$elem['condition']."_"."' />
</td>
</tr>";
}
echo "</table>";
echo "</form>";
}
Beispiel HTML-Markup
<form method='post' action='inventory.php'>
<table>
<tr>
<td>
<input type='hidden' name='addInventoryBook' value='1'>
<input type='submit' value='Add' />
</td>
</tr>
<tr>
<td>
<input type='checkbox' name='add[]' value='100001_used' />
</td>
</tr>
<tr>
<td>
<input type='checkbox' name='add[]' value='100001_new' />
</td>
</tr>
<tr>
<td>
<input type='checkbox' name='add[]' value='100003_new' />
</td>
</tr>
</table>
</form>
PHP-Funktion
function Inventory(){
if(isset($_POST['addInventoryBook'])){
if(isset($_POST['add']) && is_array($_POST['add'])){
$arr = array();
foreach($_POST['add'] as $checkbox){
$temp = explode("_", $checkbox);
$arr[] = array(
"isbn" => $temp[0],
"condition" => $temp[1],
"sub_condition" => $temp[2]
);
}
$this->addInventoryBook($arr);
}
else{
echo "No values have been set";
}
}
function addInventoryBook($arr){
foreach($arr as $elem){
//if used get sub-category
if($elem['condition']=='used'){
echo $elem['isbn']."-".ucfirst($elem['condition'])
.ucfirst($elem['sub_condition'])."<br>";
}
else if($elem['condition']=='new'){
echo $elem['isbn']."-".ucfirst($elem['condition'])."<br>";
}
}
}
Alles, was ich will ich s grundsätzlich in der Lage sein, passieren zwei Arrays zu meinem PHP-Skript
Stromausgang
100001
100002
100003
gewünschter Ausgang
100001 good
100002 new
100003 new
Ich bin verwirrt, was Sie fragen. Ich sehe '$ _POST ['condition']' nirgends in Ihrem Code, daher bin ich mir nicht sicher, wonach Sie fragen. – David
Ich bin mir nicht sicher [] Trick gilt auch für versteckte Felder .. – favoretti
@David Ich versuche, die ['Bedingung'] zu arbeiten, z. 'foreach ($ _ POST ['condition'] als $ checkbox) echo $ checkbox."
"; aber das funktioniert nicht –