簡體   English   中英

PHP數組輸出到javascript函數

[英]PHP array output to a javascript function

我正在嘗試使用php連接數據庫並使用javascript動態顯示結果。 這就是我想要做的-

<?php
function mainMenu($q){
$res=array();;
$q->setFetchMode(PDO::FETCH_NUM);   
while($r = $q->fetch()){
    array_push($res, "
    <li>
       <a class='gn-icon ".mysql_real_escape_string($r[0])."'>".mysql_real_escape_string($r[1])."
       </a>
    </li>");
}
return $res;
} ?>

現在這是html,它絕對可以工作

<ul id="sidemenu" class="gn-menu">
    <?php 
        $a=mainMenu($q);
        foreach ($a as $value) {
            echo $value;
        }
    ?>                       
</ul>

但是當我嘗試這個-

<script> 
$('#sidemenu').html(<?php 
    $b=mainMenu($q);
            foreach ($b as $value) {
           echo "$value";
}
 ?>);
</script>

它不起作用,我只是在源中看到空白並且列表中沒有任何內容打印出來,有人可以告訴我我要去哪里了...

<?php
function mainMenu($q) {
  $res=array();
  $q->setFetchMode(PDO::FETCH_NUM);   
  while( $r = $q->fetch() ) {
    array_push($res, "<li><a class='gn-icon ".mysql_real_escape_string($r[0])."'>".mysql_real_escape_string($r[1])."</a></li>");
  }
  return $res;
} 
?>

<script> 
$('#sidemenu').html("<?=implode('',mainMenu($q))?>");
</script>

您需要使用“反斜杠”對輸出中的單引號進行轉義,

<a class=\'gn-icon ".mysql_real_escape_string($r[0])."\'>".mysql_real_escape_string($r[1])."   </a>

並且您需要像這樣使用.html,

.html('<?php $b=mainMenu($q); foreach ($b as $value) { echo $value;} ?>')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM