Ich habe die folgenden Kontrollkästchen (Auszug aus einem Formular):Einfügen mehrerer Kontrollkästchen, um MySQL PHP: nur ein Eintrag hinzugefügt
<input type="checkbox" name="Cat_Ref_Array[]" value="2" />
<label for="Cat_Ref_Array[]">Category 2</label>
<input type="checkbox" name="Cat_Ref_Array[]" value="3" />
<label for="Cat_Ref_Array[]">Category 3</label>
<input type="checkbox" name="Cat_Ref_Array[]" value="5" />
<label for="Cat_Ref_Array[]">Category 5</label>
<input type="checkbox" name="Cat_Ref_Array[]" value="7" />
<label for="Cat_Ref_Array[]">Category 7</label>
<input type="checkbox" name="Cat_Ref_Array[]" value="13" />
<label for="Cat_Ref_Array[]">Category 13</label>
Und die folgende PHP es in eine Tabelle einzufügen:
<?php
$chkbox = $_POST['Cat_Ref_Array'];
$i = 0;
while ($i < sizeof($chkbox)) {
$insertSQL = sprintf(
"INSERT INTO table (Data, `Call`, Cat_Ref) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['Data'], "text"),
GetSQLValueString($_POST['Call'], "text"),
GetSQLValueString($chkbox[$i], "int")
);
$result = mysql_query($insertSQL, $site) or die(mysql_error());
$i++;
}
Aber es fügt nur einen Datensatz jedes Mal ein, egal wie viele Kontrollkästchen aktiviert sind?
Wie kommt es?
*** Bitte [mehr verwenden 'mysql_ *' Funktionen] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). * ** [Diese Erweiterungen] (http://php.net/manual/en/migration70.removed-exts-sapis.php) wurden in PHP 7 entfernt. Erfahren Sie mehr über [prepared] (http: //en.wikipedia. org/wiki/Prepared_statement) Anweisungen für [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) und [MySQLi] (http://php.net/manual/en/mysqli .quickstart.prepared-statements.php) und erwäge die Verwendung von PDO, [es ist wirklich ziemlich einfach] (http://jayblanchard.net/demystifying_php_pdo.html). –
Können Sie das Array in '$ chkbox' anzeigen. Ich glaube nicht, dass du das bekommst, was du dort erwartest. –