我正在尝试将多个字段添加到同一个表中。当我执行echo$url时,我可以看到url值,但并没有为所有url存储数据,这只是第一个url。
例如,一个公司网站可以有多个url。
foreach ($_POST['url'] as $url) {
//$url = $_POST['url'];
echo $url;
$sql_insert_url="insert into url_table(url, company_name)
values ('$url', '$comp_name')";
}
我的html:
<div id="allurl">
<div id="newurl">
<label for="companyurl" >Company URL #1</label>
<input type="text" name="url[]" id="url" maxlength="300" />
<input type='button' value='Add' id='addurl' />
</p>
</div>
javascript:
$(document).ready(function(){
var counter=2;
$("#addurl").click(function(){
var n= $(document.createElement('div')).attr("id", 'newurl' + counter);
n.after().html('<p><label>Company URL #' + counter + ' </label>' + '<input type="text" name="url[]" value="url' + counter + '" id="url' + counter + '" value="" />' + '<input type="button" name="remove' +'" id="removeurl' + '" value="Remove" /></p>');
n.appendTo("#allurl");
counter++;
});
如有任何帮助,我们将不胜感激。此外,请推荐一些好的php编辑器,帮助我快速找出php错误、内存泄漏等。
INSERT
允许在VALUES
关键字后面有多组值。此代码将所有URL组合成如下列表:
$values = implode(',', array_map(function($x) use ($comp_name) {
return "('" . mysql_real_escape_string($x) . "', '$comp_name')"; },
$_POST['url']));
$sql_insert_url = "insert into url_table(url, company_name) values $values";
我在这里找到了答案:在mySQL数据库中插入多个数组值
so all i needed to do is
$sql = "insert into win_url(url, company) values";
foreach ($_POST['url'] as $url) {
$sql .= "('".$url."','" . $comp_name. "'),";
}
$sql = substr($sql, 0, -1); // remove trailing comma
mysql_query($sql);
that's it.. magic... it works. thanks to me. i'm the best.