我正在寻找将javascript函数包含到php代码中的可能性。
代码应该从search文件中获取结果,然后以Javascript的形式打印出来。
这是javascript代码:
<script type="text/javascript">
$(document).ready(function(){
var description = '';
var myPlaylist = [ {
mp3:'./../sounds/mysql-upload',
title:'mysql-title',
artist:'mysql-artist',
subcategory:'mysql-subcategory',
date:'mysql-date',
rating:'mysql-rating',
},
/* var myPlaylist has to repeat */
];
$('#main').ttwMusicPlayer(myPlaylist, {
autoPlay:false,
description:description, }
);
});
</script>,下面是php代码:
<?php
if (!empty($_POST['search'])) {
/* Connect to database */
$hostname = '';
$database = '';
$username = '';
$password = '';
if (!($mysql_link = mysql_connect($hostname, $username, $password))) {
die('Could not connect');
}
/* Select databse */
if (!($db_selected = mysql_select_db($database, $mysql_link))) {
die('Could not find database');
}
/* Send mysql command */
$sql_cmd = "SELECT * FROM sounds WHERE `keywords` LIKE '"
. $_POST['search']."%'";
if (!($res = mysql_query($sql_cmd))) {
die('Invalid MySQL query');
}
/* Show results */
while ($dsatz = mysql_fetch_assoc($res)) {
$upload = $dsatz["upload"];
$title = $dsatz["title"];
$artist = $dsatz["artist"];
$subcategory = $dsatz["subcategory"];
$date = $dsatz["date"];
$rating = $dsatz["rating"];
/* Here should be the Javascript code */
}
/* Close database connection */
mysql_close($mysql_link);
}
?>请注意,我不想将完整的Javascript函数包含在php代码的结果部分,而是应该重复的播放列表变量中。
发布于 2012-03-11 10:24:02
在PHP中,您可以创建一个数组,并用这些属性的数组填充它。类似于:
$results = array();
while ($dsatz = mysql_fetch_assoc($res)) {
$results[]=$dsatz; }
$printout = json_encode($results);现在,要将其放入JavaScript,您可以这样做:
var myPlaylist = <?php echo $printout; ?>;发布于 2012-03-11 10:23:50
如果我正确地理解了您,那么您将需要AJAX来完成这个任务。这里有一些地方可以从以下几个地方开始:
而且,由于您已经在使用JQuery,它可以使使用AJAX的生活更加轻松。
浏览一下JQuery AJAX API在http://api.jquery.com/category/ajax/上的应用
发布于 2012-03-11 12:18:47
这是相当可能的,但如何使用json代替。可以通过json_encode($array)在php中生成JSON编码的字符串,您可以使用AJAX将json加载到当前页面。
另一个选项是,从php代码生成javascript数组,然后将javascript数组包含到网页上。
https://stackoverflow.com/questions/9654098
复制相似问题