我试图使用WordPress的函数insert()在数据库中插入多个复选框值,但在使用SQL请求时,效果不同。虽然我的桌子存在,但我真的不知道问题出在哪里。。。
<form name="orderform" method="post" >
<table id="Tableau" style="border-collapse: collapse;" id="tableauS" border="1"><tr><th>Attributs</th><th>Choix</th></tr></html>
<?php
$resultat= $wpdb->get_results("SELECT * from wp_frm_fields ",ARRAY_N); // lancement de la requete
foreach ($resultat as $post) {
echo \'<tr><td>\'.$post[2].\'</td>\';
echo"<td><center><input type=\'checkbox\' name=\'choixP\' value=\'".$post[0]."\'></center></td>";
}
?>
<html></tr>
<input type="submit" name="sub" value="submit">
</table></form>
<?php
if(isset($_POST[\'sub\']))
{
global wpdb;
$checkbox1=$_POST[\'choixP\'];
$chk="";
foreach($checkbox1 as $chk1)
{
$chk = $chk1;
$wpdb->insert( \'wp_choix_attributs_liste\',
array(\'att_id\'=>$chk),
array(%s) );
-------- Dont Work too-----------
$query = "INSERT INTO wp_choix_attributs_liste (att_id) VALUES (\'".$chk."\')";
mysql_query($query) or die(mysql_error());
---------------------------------
}
}
最合适的回答,由SO网友:Sombrero 整理而成
我解决了它。
public function insertionRow($id){
global $wpdb;
$wpdb->query("INSERT INTO wp_choix_attributs_liste (att_id) VALUES (".$id.");");
}
在我的html中使用复选框。
if(isset($_POST[\'sub\']))
{
foreach ($_POST[\'choixP\'] as $id) {
self::insertionRow($id);
}
}