2016-03-30 15 views
3

私は次のコードを持っています。私がしようとしているのは、メッセージボックスにmysqlの結果をjavascriptで表示することですが、メッセージボックスをクリックするとすべてのボタンに対して1つの結果しか表示されません。php中に結果がjavacriptで表示されます

すべてのボタンにはデータベースにある自分のメッセージが必要です。

どのように私はそれを行うことができますか?

データベースでは、Posはボタンの位置であり、Ctnはメッセージです。

助けてください。

+0

あなたのPHPは簡略タグをサポートしましたか?あなたは 'PHP'のためにそれを使います。 ''、 ''を使ってみてください。 –

+0

あなたがこれを好きなのであれば簡単に使いたいと思うでしょう。 '<?= $ row ['ctn'];?>' –

答えて

1

これを試してみてください;)

<?php 
$query = "SELECT * FROM `Points`"; 
$result = mysql_query($query); 

/* all messages */ 
$messages = array(); 
$index = 0; 
while($row = mysql_fetch_assoc($result)){ 
    $messages[] = $row['Ctn']; 
    ?> 
    <div style="position:absolute; overflow:hidden; <?php echo $row['Pos']; ?> height:23px; z-index:0"> 
    <button onClick="showMsgBox(<? echo $index++; ?>);" id="showBtn">Show MsgBox</button> 
    </div> 
    <?php 
} 
?> 

<script> 
    var messages = <?php echo json_encode($messages); ?>; 
    $("#showBtn").focus(); 

    msgBoxImagePath = "images/"; 
    function showMsgBox(index){ 
    $.msgBox({ 
     title: "Ads", 
     content: messages[index], 
     type: "alert" 
    }); 
    } 
</script> 

は、あなたがあなたの必要性に従って変更することができます<?php ... ?>タグを使用します。

0

まず、IDは一意でなければなりません。入力がループの場合は、IDも一意であることを確認してください。 これはあなたのために働くかもしれない下記のコードをご覧ください。

<? 
 
    $query = "SELECT * FROM 'Points'"; 
 
    $result = mysql_query($query); 
 
    $queryCounter = 0; 
 
    $message = array(); 
 
    while($row = mysql_fetch_assoc($result)){ 
 

 
    $message[$queryCounter] = $row[Ctn]; 
 

 
    ?> 
 

 

 

 
    <div style="position:absolute; overflow:hidden; <?php echo $row[Pos]; ?> height:23px; z-index:0"> 
 
<button onClick="showMsgBox(<?php echo $queryCounter; ?>);" id="showBtn<?php echo $queryCounter; ?>">Show MsgBox</button> 
 
</div> 
 
<script> 
 

 
      $("#showBtn").focus(); 
 
      msgBoxImagePath = "images/"; 
 
      function showMsgBox(id) { 
 
       $.msgBox({ 
 
        title: "Ads", 
 
        content: "<? echo $message[id]; ?>", 
 
        type: "alert" 
 
       }); 
 
      } 
 
     </script> 
 

 
    <? $queryCounter ++; }?>

+0

あなたの答えはあまりにも多くの人...はい、itzmukeshy7はそれを修正します。 –

0

このコードをチェックすると、私はそれがあなたのために働くことを望みます、ここで私はdata-value html5属性を使用してボタンをクリックするとメッセージを取得しました。

<?php 
$query = "SELECT * FROM `Points`"; 
$result = mysql_query($query); 
while($row = mysql_fetch_assoc($result)){ 
?> 
    <div style="position:absolute; overflow:hidden; <?php echo $row['Pos']; ?> height:23px; z-index:0" data-value="<?php echo $row['Ctn']; ?>" id="showMsgBoxContent_<?php echo $row['id'];?>" > 
     <button onClick="showMsgBox(<?php echo $row['id']; ?>);" id="showBtn_<?php echo $row['id']; ?>">Show MsgBox</button> 
    </div> 
<?php 
} 
?> 

<script> 
msgBoxImagePath = "images/"; 
function showMsgBox(id) 
{ 
    $("#showBtn_"+id).focus(); 
    var showContent = $('#showMsgBoxContent_'+id).getAttribute('data-value'); 
    $.msgBox({ 
     title: "Ads", 
     content: showContent, 
     type: "alert" 
    }); 
} 

</script> 
関連する問題