0

mysql_fetch_array() の結果配列を JavaScript 関数に渡したい。

ここにコードがあります。

 <?php
         $msDetails=  mysql_query("select * from article_master where status='complete'") or die(mysql_error());
         while ($row= mysql_fetch_array($msDetails)) {

         $co_auth_name=mysql_query("select fname from author_detail where journal_id='$jid' && article_id='$row[1]' && (correspondng_author != 'on' || correspondng_author = 'false')");
         $num=mysql_affected_rows();
         echo $num; //2


                while ($co_auth=mysql_fetch_array($co_auth_name))
                {
                         $JArray= json_encode($co_auth);;
                         echo $JArray;
                }

 ?>

 <tr>
        <td><a href="javascript:popup_viewReports('<?php echo $JArray ?>');">View</a> 
       </td>
 </tr>

 <?php
         }
 ?>

$co_Auth を viewReports() に渡すにはどうすればよいですか??

4

5 に答える 5

1

これを試して。スクリプトを実行する方法ではなく、1 つのクエリでスクリプトを実行できるようです。author_detail テーブルの列 "article_id" が author_master テーブルの PK "id" を参照していると仮定しました。

<?php
// Assuming author_master's PK is "id" and author_detail's column author_id refernces it
$query = "SELECT ad.* 
    FROM article_master am
    JOIN author_detail ad ON am.id = ad.article_id 
    WHERE am.status = 'complete'
    AND ad.journal_id = '$jid'
    AND (ad.corresponding_author <> 'on' || ad.corresponding_author == 'false')";

$result = mysql_query($query) or die(mysql_error());

while ($row = mysql_fetch_assoc($result)): ?>
    <tr>
        <td><a href="javascript:popup_viewReports('<?php echo $row['fname'] ?>');">View</a></td>
    </tr>
<?php endwhile; ?>
于 2013-04-30T10:44:51.823 に答える
0

ループ内で $JArray を割り当ててから、ループの外に出力しています。最後の値のみが出力されます。

于 2013-04-30T10:25:58.253 に答える
0

文字列として送信しています。コマを削除すると動作するはずです。

<a href="javascript:popup_viewReports(<?php echo $JArray ?>);">

于 2013-04-30T10:24:45.090 に答える