Ich möchte eine einfache PHP-Funktion schreiben, um Werte von 10 und 20 Kontrollkästchen einzufügen. Das Problem ist nun: Soll ich alle Werte in eine einzelne Spalte der MySQL-Tabelle einfügen oder soll ich mich für die separate Tabelle entscheiden?
Mein Hauptziel ist es, die Werte von mehreren einzufügenKontrollkästchen in MySQL und aktualisieren Sie sie dann. Wenn ich 7 Kontrollkästchen aktiviert habe und nach einiger Zeit von 7 auf 5 aktualisieren möchte, wie werden dann Werte aus der Tabellenspalte entfernt?
Bitte helfen Sie mir mit einem einfachen PHP-Beispielund welche Art von MySQL-Feldern soll ich hinzufügen, weil ich einen Checkbox-Wert einfügen möchte, der in digital sein soll, und die Beschriftung von Checkboxen in einem anderen Feld.
Hier ist das HTML, das ich habe
<form method="post" action="">
Games You Like: <br/>
<input type="checkbox" name="games[]" value="1"><label>Football</label><br>
<input type="checkbox" name="games[]" value="2"><label>Basket Ball</label><br>
<input type="checkbox" name="games[]" value="3"><label>Pool</label><br>
<input type="checkbox" name="games[]" value="4"><label>Rugby</label><br>
<input type="checkbox" name="games[]" value="5"><label>Tennis</label><br>
<input type="checkbox" name="games[]" value="6"><label>Cricket</label><br>
<input type="checkbox" name="games[]" value="7"><label>Table Tennis</label><br>
<input type="checkbox" name="games[]" value="8"><label>Hockey</label><br>
<input type="submit" name="submit" value="submit">
</form>
Antworten:
12 für die Antwort № 1Versuchen Sie dieses ganze Beispiel,
Tabellenstruktur
CREATE TABLE IF NOT EXISTS `games` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`game_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
<?php
include_once("yourconfig.php"); //include your db config file
extract($_POST);
$check_exist_qry="select * from games";
$run_qry=mysql_query($check_exist_qry);
$total_found=mysql_num_rows($run_qry);
if($total_found >0)
{
$my_value=mysql_fetch_assoc($run_qry);
$my_stored_game=explode(",",$my_value["game_name"]);
}
if(isset($submit))
{
$all_game_value = implode(",",$_POST["games"]);
if($total_found >0)
{
//update
$upd_qry="UPDATE games SET game_name="".$all_game_value.""";
mysql_query($upd_qry);
}
else
{
//insert
$ins_qry="INSERT INTO games(game_name) VALUES("".$all_game_value."")";
mysql_query($ins_qry);
}
}
?>
<form method="post" action="">
Games You Like: <br/>
<input type="checkbox" name="games[]" value="1" <?php if(in_array(1,$my_stored_game)){echo "checked";}?>><label>Football</label><br>
<input type="checkbox" name="games[]" value="2" <?php if(in_array(2,$my_stored_game)){echo "checked";}?>><label>Basket Ball</label><br>
<input type="checkbox" name="games[]" value="3" <?php if(in_array(3,$my_stored_game)){echo "checked";}?>><label>Pool</label><br>
<input type="checkbox" name="games[]" value="4" <?php if(in_array(4,$my_stored_game)){echo "checked";}?>><label>Rugby</label><br>
<input type="checkbox" name="games[]" value="5" <?php if(in_array(5,$my_stored_game)){echo "checked";}?>><label>Tennis</label><br>
<input type="checkbox" name="games[]" value="6" <?php if(in_array(6,$my_stored_game)){echo "checked";}?>><label>Cricket</label><br>
<input type="checkbox" name="games[]" value="7" <?php if(in_array(7,$my_stored_game)){echo "checked";}?>><label>Table Tennis</label><br>
<input type="checkbox" name="games[]" value="8" <?php if(in_array(8,$my_stored_game)){echo "checked";}?>><label>Hockey</label><br>
<input type="submit" name="submit" value="submit">
</form>
Dies ist nur ein einfaches Beispiel und eine Abfrage, die ich in diesem Beispiel hinzugefügt habe. Sie können aus diesem einfachen Beispiel lernen und ich denke, dass dies für Sie sehr nützlich ist
1 für die Antwort № 2
Verwenden Sie die implode-Funktion, um das zurückgegebene Array in einen String zu konvertieren und es dann wie gewohnt in die Datenbank einzufügen
if(isset($_POST["submit"])){
$result = implode(",",$_POST["games"]);
}
Ich hoffe, das wird dir helfen. Grüße Imran Qasim
0 für die Antwort № 3
Ich habe den Namen des Spiels in die Klammern gesetzt und die Werte in true geändert:
<form method="post" action="">
Games You Like: <br/>
<input type="checkbox" name="games[Football]" value="true"><label>Football</label><br>
<input type="checkbox" name="games[Basket]" value="true"><label>Basket Ball</label><br>
<input type="checkbox" name="games[Pool]" value="true"><label>Pool</label><br>
<input type="checkbox" name="games[Rugby]" value="true"><label>Rugby</label><br>
<input type="checkbox" name="games[Tennis]" value="true"><label>Tennis</label><br>
<input type="checkbox" name="games[Cricket]" value="true"><label>Cricket</label><br>
<input type="checkbox" name="games[Table]" value="true"><label>Table Tennis</label><br>
<input type="checkbox" name="games[Hockey]" value="true"><label>Hockey</label><br>
<input type="submit" name="submit" value="submit">
</form>
Nach dem Absenden wird ein Array wie folgt erstellt:
$_POST["games"] = Array ( [Tennis] => true [Cricket] => true [Table] => true )
// all other values false
Sie können dieses Array problemlos speichern und später bearbeiten, wenn Sie es als JSON-Zeichenfolge in Ihrer Datenbank speichern. Dazu benötigen Sie eine einzelne Varchar- oder Textspalte.
json_encode($_POST["games"])
// {"Tennis":"true","Cricket":"true","Table":"true"}
0 für die Antwort № 4
Bitte versuchen Sie dies
<?php
if(isset($_POST["submit"]))
{
//in here you get games array
$mygames = $_POST["games"];
}
?>
<form method="post" action="">
Games You Like: <br/>
<input type="checkbox" name="games[]" value="1"><label>Football</label><br>
<input type="checkbox" name="games[]" value="2"><label>Basket Ball</label><br>
<input type="checkbox" name="games[]" value="3"><label>Pool</label><br>
<input type="checkbox" name="games[]" value="4"><label>Rugby</label><br>
<input type="checkbox" name="games[]" value="5"><label>Tennis</label><br>
<input type="checkbox" name="games[]" value="6"><label>Cricket</label><br>
<input type="checkbox" name="games[]" value="7"><label>Table Tennis</label><br>
<input type="checkbox" name="games[]" value="8"><label>Hockey</label><br>
<input type="submit" name="submit" value="submit">
</form>
0 für die Antwort № 5
Erstens sehr direkt, ich bevorzuge es, Namen wie diesen aus verschiedenen Kontrollkästchen zu machen
BasketBall;Cricket;Tennis
Sie können das durch
implode(";",$array);
und dann schreiben Sie das in MySQL-Tabelle ...
Um diese Werte zu erhalten, verwenden Sie einfach
$array = explode(";",$urVariable);
Für unterschiedliche Werte verwenden
numberOne = $array[1]; // returns Cricket
um irgendeinen Wert zu ändern, benutze einfach die Werte und schreibe ";" bilden..
Ich mag das, weil es einfach zu implementieren ist und perfekt funktioniert!