javascript
  • php
  • html
  • mysql
  • 2016-01-18 3 views -2 likes 
    -2

    PHPпеременные не передаются

    <?php       
        $q = "SELECT * FROM catagory"; 
        $rs = mysql_query($q); 
    
        while($d = mysql_fetch_assoc($rs)){ 
        $c = $d["catagory_name"]; 
        echo "<li><a href='#' onclick='movie(".$c.")'>". $c. "</a></li>"; 
        } 
    ?> 
    

    , что проблема с echo "<li><a href='#' onclick='movie(".$c.")'>". $c. "</a></li>";?

    Javascript

    function movie(a){ 
        var n = document.getElementById(a).value; 
        var rnd = Math.random(); 
        var url="movie.php?id="+rnd; 
        postRequest(url); 
    } 
    
    +0

    Ну, что заставляет вас думать, что есть проблема с этим? * Вы * говорите * нам *, что у вас есть, что это не работает. Мы не можем видеть ваш экран отсюда. – David

    +0

    Пожалуйста, прекратите использование 'mysql_ *' функций (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте над использованием PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –

    +0

    Вы не можете получить это onclick = 'movie (". $ C.")'> "Как это, его строка .. – devpro

    ответ

    1

    В коде есть ошибка onclick='movie(".$c.")'>" заменить onclick='movie('".$c."')'>"

    <?php       
    $q = "SELECT * FROM catagory"; 
    $rs = mysql_query($q); 
    while($d = mysql_fetch_assoc($rs)) 
    { 
    $c = $d["catagory_name"]; 
    echo "<li><a href='#' onclick='movie('".$c."')'>". $c. "</a></li>"; 
    } 
    ?> 
    

    Javascript

    function movie(a) 
    { 
         var n = document.getElementById(a).value; 
         var rnd = Math.random(); 
         var url="movie.php?id="+rnd; 
         postRequest(url); 
    } 
    
    0

    Проблема в вашем коде заключается в том, что вы используете параметр string в функции movie() без использования кавычек.

    Если вы хотите, чтобы сэкономить ваше время, чем PHP и HTML микс, как так:

    <? 
    $q = "SELECT * FROM catagory"; 
    $rs = mysql_query($q); 
    while($d = mysql_fetch_assoc($rs)) 
    { 
        $c = $d["catagory_name"]; 
        ?> 
        <li><a href='#' onclick='movie("<?=$c?>")'><?=$c?></a></li> 
    <? 
    } 
    ?> 
    

    Второй, где используют эту линию?

    var n = document.getElementById(a).value; 
    

    Я думаю, вы пропустили его в своем URL-адресе.

    Третий, пожалуйста, используйте mysqli_* или PDO вместо mysql_* расширения, он устарел и не доступны в PHP 7.

    Смежные вопросы