虽然PHP但结果必须在javascript中显示

时间:2016-03-30 06:19:22

标签: javascript php mysql database

我有以下代码,我尝试做的是用javascript在消息框中显示mysql结果,但是当我点击消息框时,它只显示每个按钮的一个结果。< / p>

我希望每个按钮都有自己的数据库中的消息。

有人知道我该怎么办吗?

    <?
    $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">
<button onClick="showMsgBox();" id="showBtn">Show MsgBox</button>
</div>  
<script>

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

    <?}?>

在数据库中,Pos是按钮的位置,Ctn是​​消息。

请帮忙。

3 个答案:

答案 0 :(得分: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 ... ?>代码;

答案 1 :(得分: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 ++; }?>

答案 2 :(得分: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>