首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将javascript代码插入php中

问将javascript代码插入php中
EN

Stack Overflow用户
提问于 2012-03-11 10:17:13
回答 3查看 190关注 0票数 0

我正在寻找将javascript函数包含到php代码中的可能性。

代码应该从search文件中获取结果,然后以Javascript的形式打印出来。

这是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代码:

代码语言:javascript
复制
 <?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代码的结果部分,而是应该重复的播放列表变量中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-11 10:24:02

在PHP中,您可以创建一个数组,并用这些属性的数组填充它。类似于:

代码语言:javascript
复制
$results = array();
while ($dsatz = mysql_fetch_assoc($res)) {
    $results[]=$dsatz; }
$printout = json_encode($results);

现在,要将其放入JavaScript,您可以这样做:

代码语言:javascript
复制
var myPlaylist = <?php echo $printout; ?>;
票数 2
EN

Stack Overflow用户

发布于 2012-03-11 10:23:50

如果我正确地理解了您,那么您将需要AJAX来完成这个任务。这里有一些地方可以从以下几个地方开始:

W3Schools AJAX教程

Tizag的AJAX教程

而且,由于您已经在使用JQuery,它可以使使用AJAX的生活更加轻松。

浏览一下JQuery AJAX API在http://api.jquery.com/category/ajax/上的应用

票数 1
EN

Stack Overflow用户

发布于 2012-03-11 12:18:47

这是相当可能的,但如何使用json代替。可以通过json_encode($array)在php中生成JSON编码的字符串,您可以使用AJAX将json加载到当前页面。

另一个选项是,从php代码生成javascript数组,然后将javascript数组包含到网页上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9654098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档