首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将php-mysql数据与jquery合并以淡入淡出数据

问如何将php-mysql数据与jquery合并以淡入淡出数据
EN

Stack Overflow用户
提问于 2012-01-15 06:28:28
回答 3查看 699关注 0票数 0

我使用php-mysql编写了一个简单的select语句,并使用此脚本将文本与另一个脚本进行了更改。

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready( function() {
       $('#deletesuccess').delay(500).fadeOut(function(){
          $('#deletesuccess').html("text2");
          $('#deletesuccess').delay(500).fadeIn("slow");
       });
    });
</script>

<div id=deletesuccess > text1 </div>

尝试使用php-mysql和jquery上面的脚本显示表中的数据,但它只显示循环不工作的最后一行

代码语言:javascript
复制
$getTextQ = "select * from text";
$getTextR = mysql_query($getTextQ);
while($row = mysql_fetch_array($getTextR)){
?>
        <script type="text/javascript">
     $(document).ready( function() {
    $('#deletesuccess').delay(500).fadeOut(function(){
         $('#deletesuccess').html("<?php echo $row['desc']; ?>");
          $('#deletesuccess').delay(500).fadeIn("slow");
    });
  });
</script>

<?php

   }

但是不能在上面的PHP代码中使用它来逐个显示数据。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-15 06:43:37

您可以使用jQuery ajax轻松完成此操作。

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready( function() {
        $.ajax({
            url: 'getData.php',
            dataType: 'json',
            type: 'POST',
            success: function(data) {
                $('#deletesuccess').delay(500).fadeOut(function(){
                    $.each(data,function(key, value){
                        $('#deletesuccess').html(value);
                        $('#deletesuccess').delay(500).fadeIn("slow");
                    });
                });
            }
        });
    });
</script>

现在,在getData.php页面中,您需要查询和回显json_encode数据。这意味着getData.php文件应该包含以下代码:

代码语言:javascript
复制
<?php
    $getTextQ = "select * from text";
    $getTextR = mysql_query($getTextQ);
    $json     = '';
    while($row = mysql_fetch_array($getTextR)){
       $json .= $row['desc']; 
    }
    echo json_encode($json);
?>
票数 2
EN

Stack Overflow用户

发布于 2012-01-15 06:39:54

注意,在php和javascript代码执行之间没有明显的区别。php代码将回显javascript代码,且在php完成执行之后(在文档就绪时),javascript代码将在istant中执行,因此javascript最后一次回显将在执行中起作用。试着把代码分开。

票数 2
EN

Stack Overflow用户

发布于 2012-01-15 06:36:34

问题是每次循环运行时都会覆盖JavaScript。相反,你应该这样做:

代码语言:javascript
复制
<script type="text/javascript">
    var php_results = '';
</script>

<?php
$getTextQ = "select * from text";
$getTextR = mysql_query($getTextQ);
while($row = mysql_fetch_array($getTextR)){
?>
    <script type="text/javascript">
        php_results += "<?php echo $row['desc']; ?> | ";
    </script>

<?php
}
?>

<script type="text/javascript">
    $(document).ready( function() {
        $('#deletesuccess').delay(500).fadeOut(function(){
            $('#deletesuccess').html(php_results);
            $('#deletesuccess').delay(500).fadeIn("slow");
        });
    });
</script>

当然,这必须进行清理以使其更美观,但它应该可以工作。我添加了管道作为来自数据库的不同描述之间的分隔符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8865870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档