十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
您好,您可以參考如下代碼:
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比木蘭網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式木蘭網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋木蘭地區(qū)。費用合理售后完善,十年實體公司更值得信賴。
?php
/*?獲取HTML表單提交的數(shù)據(jù)?*/
$id?=?_POST["id"];
$catid?=?_POST["catid"];
$ly?=?array("data***");
/*?連接數(shù)據(jù)庫,如果出錯顯示消息結束程序,否則繼續(xù)執(zhí)行數(shù)據(jù)庫命令?*/
$con?=?mysql_connect("127.0.0.1","user","password");
if($con?==?false)
{
echo?"錯誤:系統(tǒng)數(shù)據(jù)庫連接失??!錯誤信息:".mysql_error($con);
exit();
}else{
/*?選擇需要操作數(shù)據(jù)庫?*/
mysql_select_db("mydb",$con);
/*?根據(jù)ly數(shù)組的長度決定執(zhí)行多少次SQL語句?*/
for($i=0;$icount($ly);$i++)
{
/*?設置SQL查詢語句?*/
$sql?=?"INSERT?INTO?`biaoge`?VALUES('{$id}','{$catid}',".$ly[$i].")";
/*?如果SQL語句執(zhí)行失敗,返回錯誤代碼;?*/
if(mysql_query($sql,$con)?==?false)
{
echo?"數(shù)據(jù)庫查詢出錯!錯誤代碼:".mysql_errno($con);
mysql_close($con);
exit();
}
}
mysql_close($con);
echo?"記錄添加成功!";
}
?
至于遍歷數(shù)組,有很多種方式,如樓上用的foreach語句也是可以的。這里用for的原因是為了方便提問者理解。如果代碼仍有不足或不明白的地方,請您繼續(xù)追問,直到給您一個滿意的答復為止~
利用PHP對數(shù)組賦值時下標變量會自動遞增的特點,可以很方便用循環(huán)將數(shù)據(jù)存入一個數(shù)組。例如:$arr[] = 'a'; 這條語句會將字符a存入數(shù)組變量$arr中,如果$arr不存在則會新建一個;若已存在,則將$arr數(shù)組的下標變量遞增1后存入字符。也就是說,如果已有$arr[0]='a', 那么執(zhí)行 $arr[] = 'b'; 后,數(shù)組其實是進行了$arr[1] = 'b' 的操作。
把數(shù)組轉成json或其他字符串在寫入數(shù)據(jù)庫,不轉換字符串無法寫入或自由Array,我是沒試過,反正我知道是無法寫入,我都是轉成json后在寫入。
?php
$array=array(
"data1"="data1",
"data2"=array(
"data22"="data22",
"data222"="data222"
),
"data3"="data3"
);
$encode=json_encode($array);?//數(shù)據(jù)庫寫入轉換
$addslashes=addslashes(json_encode($array));?//如果只用英文字符的話可以直接用上面,用中文或有帶斜杠/,PHP寫入數(shù)據(jù)庫的時候會去掉斜杠/,所以addslashes函數(shù)在轉換下寫入
$decode=json_decode($array,true);?//數(shù)據(jù)庫讀取轉換
?
lxydjx 正解,我來詳細補充一下吧。未經(jīng)測試、、、
//初始化
$sql = array();
// 從 a.php POST 過來的值
$_POST["xinxi"] = "20-2,19-1,18-1";
// 拆分為 array("20-2", "19-1", "18-1");
$post_data = explode(",", $_POST["xinxi"]);
// 循環(huán)數(shù)組
for($i = 0; $i count($post_data); $i++) {
// 再次拆分每一條信息為 array("20", "2"), array("19", "1"), array("18", "1")
$details = explode("-", $post_data[$i]);
// 將每一條信息添加到 $sql 數(shù)組中
array_push($sql, "(20121015194535193356, ".$details[0].", ".$details[1].")");
}
// 用 , 連接,轉換為 string
$sql = implode(",", $sql);
// 插入數(shù)據(jù)庫
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");