Im Folowing Code, den ich von einer Form in eine MySQL-Tabelle ein Insert täteINSERT von Kontrollkästchen, um MySQL - foreach-Anweisung
Die Formularfelder aus einer MySQL-Datenbank gefüllt werden, die korrekt funktionieren.
Das Problem besteht darin, Daten aus den mehreren Kontrollkästchen zu extrahieren und jeden Wert als neue Zeile in die 'selection' Spalten userid und videoid der Tabelle einzufügen.
Das Benutzer-ID-Feld ist korrekt eingefügt, aber die Video-ID gibt keine Daten aus.
<?php
$con=mysqli_connect("$host", "$username", "$password","$db_name")or die("cannot connect");//connection string
$user=$_POST['userid'];
$checkbox1=$_POST['videoid'];
$chk="";
foreach($checkbox1 as $chk1)
{
$chk .= $chk1.",";
}
$in_ch=mysqli_query($con,"INSERT INTO tbl_selection (userid, videoid) VALUES ('$user', '$chk');");
if($in_ch==1)
{
echo'<script>alert("Inserted Successfully")</script>';
}
else
{
echo'<script>alert("Failed To Insert")</script>';
}
}
?>
</body>
</html>
Dies ist die HTML-Formular, das aus einer mysql Tabelle aufgefüllt wird:
<?php
connect to database
?>
<div class="control-group">
<?php
$query = "SELECT * FROM video";
$result2 = mysql_query($query);
while ($line = mysql_fetch_array($result2, MYSQL_ASSOC)) {
?>
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="videoid" value="<?php echo $line[id]?>"><?php echo $line[title]?>
</label>
</div>
<?php } ?>
Bitte Gebrauch nicht [die 'mysql_' Datenbankerweiterung] (http://stackoverflow.com/questions/12859942/why -shouldnt-ich-benutze-mysql-functions-in-php), es ist veraltet (für immer in PHP7 gegangen) Speziell, wenn Sie gerade PHP lernen, verbringen Sie Ihre Energie zu lernen, die 'PDO' Datenbank-Erweiterungen. [Hier starten] (http://php.net/manual/en/book.pdo.php) – RiggsFolly
Sie müssen nur per Skript eine Verbindung zur Datenbank ONCE herstellen. Das ist ein zeitraubender Prozess – RiggsFolly
... oder mysqli_, wenn Sie alt sein müssen skool – Strawberry