[英]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.