Вставка кода JavaScript в php - PullRequest
0 голосов
/ 11 марта 2012

Я ищу возможность включить функцию javascript в код php.

Код должен получить результаты из файла php поиска и затем распечатать их в виде списка воспроизведения 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.но переменная плейлиста, которая должна повторяться.

Ответы [ 3 ]

2 голосов
/ 11 марта 2012

В PHP вы можете создать массив и заполнить его массивами этих атрибутов. Что-то вроде:

$results = array();
while ($dsatz = mysql_fetch_assoc($res)) {
    $results[]=$dsatz; }
$printout = json_encode($results);

Теперь, чтобы поместить его в JavaScript, вы должны сделать это:

var myPlaylist = <?php echo $printout; ?>;
1 голос
/ 11 марта 2012

Если я вас правильно понял, для этого вам понадобится AJAX.Вот несколько мест, с которых можно начать:

W3Schools AJAX Tutorial Учебное пособие Tizag по AJAX

Кроме того, поскольку вы уже используете JQuery, это может сделать вашу жизнь с AJAX намного проще.1011 *http://api.jquery.com/category/ajax/

0 голосов
/ 11 марта 2012

это вполне возможно, но как использовать вместо этого json. Строка в кодировке JSON может быть сгенерирована в php через json_encode($array) Затем, возможно, с помощью AJAX, загрузите json на текущую страницу.

Другой вариант - создать массивы javascript из кода php, а затем включить массив javascript на веб-странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...