Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $\发布具有相同id的多个输入,这些输入通过单击jQuery添加。_Php_Javascript_Jquery_Mysql - Fatal编程技术网

Php $\发布具有相同id的多个输入,这些输入通过单击jQuery添加。

Php $\发布具有相同id的多个输入,这些输入通过单击jQuery添加。,php,javascript,jquery,mysql,Php,Javascript,Jquery,Mysql,我的网站搜索Spotify库并返回结果列表。用户可以单击其中一个结果并将其添加到播放列表中,播放列表将作为表单提交的一部分发布。下面的代码将单击的歌曲添加到.selected列表容器中,然后使用Spotify歌曲href的值将隐藏的输入添加到DOM中 $('.spotify-result').click(function() { var $input = $('<input type="hidden" id="track_href" class="track" value=""

我的网站搜索Spotify库并返回结果列表。用户可以单击其中一个结果并将其添加到播放列表中,播放列表将作为表单提交的一部分发布。下面的代码将单击的歌曲添加到.selected列表容器中,然后使用Spotify歌曲href的值将隐藏的输入添加到DOM中

 $('.spotify-result').click(function() {
    var $input = $('<input type="hidden" id="track_href" class="track" value="" name="track_href" />');
    $(this).clone().appendTo($('.selected-list'));
    $('.submit-spotify').before($input);
    $input.val($('.track-href', this).text());
 });
$('.spotify result')。单击(函数(){
变量$input=$('');
$(this.clone().appendTo($('.selected list'));
$('.submit spotify')。之前($input);
$input.val($('.track href',this.text());
});
我在这里遇到的问题是,每个输入都被赋予了一个“track_href”的id,而正是这个id被发送到了$\u POST变量中。下面的PHP显示了我如何将其添加到表中

$song_query = "INSERT INTO songs (playlist_id, href) VALUES ('$playlist_id', '$href')";
if (mysql_query($song_query)) {
    $message = "<p>Congratulations, your Journix has been added.</p>";
} else {
    $message = ("Insert failed. " . mysql_error() . "<br/>" . $song_query);
}   
$song\u query=“插入歌曲(playlist\u id,href)值(“$playlist\u id”,“$href”)”;
if(mysql_查询($song_查询)){
$message=“祝贺您,您的日志已添加。

”; }否则{ $message=(“插入失败。”.mysql\u error()。“
。”$song\u查询); }
此时发生的只是第一首歌被添加到表中。我想我需要某种循环来循环每个输入,但我确信用相同的id发布每个输入不是一种方法


我知道mysql函数正在贬值,但这是一个大学项目,需要我使用mysql。

有两个问题

首先,html ID必须是唯一的。除非您使用jquery获取这些ID,否则这不会真正影响您,但您仍然应该更改它。你真的需要身份证吗

其次,具有相同名称的输入将相互覆盖。为了保存这一切,我将它设为一个数组

name="track_href[]"

在这之后,您可以循环浏览$\u POST['track\u href']并进行插入。

有两个问题

首先,html ID必须是唯一的。除非您使用jquery获取这些ID,否则这不会真正影响您,但您仍然应该更改它。你真的需要身份证吗

其次,具有相同名称的输入将相互覆盖。为了保存这一切,我将它设为一个数组

name="track_href[]"

在那之后,你可以循环通过$\u POST['track\u href']并进行插入。

是输入的名称,而不是id,它是$\u POST数组中的键。

是输入的名称,而不是id,它是$\u POST数组中的键。

不是
输入
字段的
id,而是
名称
属性。您需要将它们设置为唯一的或数组,以便在后端PHP脚本中轻松访问

在前端 使用


它不是
input
字段的
id
,而是
name
attirbute。您需要将它们设置为唯一的或数组,以便在后端PHP脚本中轻松访问

在前端 使用


Ejay我刚刚使用了你的代码,但有一些错误。。。警告:为foreach()提供的参数无效注意:未定义变量:tmp警告:内爆()[函数.内爆]:传递的参数无效由于您从未发布初始化代码
$href
,因此假定您有信心将其设置正确,即
$href=$\u POST['track\u href']
Ejay我刚用了你的代码,但有几个错误。。。警告:为foreach()提供的参数无效注意:未定义变量:tmp警告:内爆()[函数.内爆]:传递的参数无效由于您从未发布初始化代码
$href
,因此假定您有信心将其设置正确,即
$href=$\u POST['track\u href']
,非常感谢!非常感谢!
var $input = $('<input type="hidden" id="track_href" class="track" value="" name="track_href" />');
//$href is an array now
  foreach($href as $v){
     $tmp[] = "('$playlist_id', '".mysql_real_escape_string($v)."')";
  }
  $song_query = "INSERT INTO songs (playlist_id, href) VALUES ".implode(',', $tmp);