-3

JQueryを使用してMySQLデータベースを表示する方法はありますか? 各データを範囲時間 (たとえば 5 秒) で表示してから、自動的に別のデータに変更したい。

私はこのデータを持っています

ID  Name    Text
1   Iqbal   Text from Iqbal
2   Yudi    Text from Yudi
3   Zizan   Text from Zizan

このようになるはずです

Iqbal   Text from Iqbal

5 秒後、次のように変わります。

Yudi  Text from Yudi

等々。

JQuery を使用してみましたが、PHP コードで既にフェッチされているデータで使用するのは困難です。PHP から取得したデータを呼び出して JQuery に表示する方法はありますか?

これはphp/MySqlコードです

<html>
<head></head>
<body>

<div class="boxed" style="height:200px; border:1px solid #CCCC99; background:#CCCC99; overflow-x:hidden; overflow-y:scroll;">

<?php
$con=mysqli_connect("localhost","","","");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

    $result = mysqli_query($con,"SELECT * FROM jos_news ORDER BY id DESC");

    echo "<div id='news'>
<table border='0' height='175px' width='180px' cellpadding='5' cellspacing='0' style='border-radius:10px; border:1px solid #FFFFFF; background-color:#FFFFFF;' >";     

    while($row = mysqli_fetch_array($result))   {

    echo "<tr> <td align='right'><b>". $row['Text'] ."</b></td> </tr>";

      }

    echo "</table></div>";

    mysqli_close($con);
    ?>

</div>
</body>

</html>

これはjqueryスクリプトです

 <script type="text/javascript" src="http://hna-consulting.com/hafizi-associates/templates/template_v5/jquery.js"></script>

        <script type="text/javascript">

        SliderInt=1;
        SliderNext=1;

        $("document").ready(function(){
           $(".boxed #news").fadeIn(10000);
           startSlider();

        });

        function startSlider(){
           loop = setInterval (function(){
             $(".boxed #news").fadeOut(300);

           },3000)

        }

        </script>
4

3 に答える 3

1

他の人が指摘しているように、jQuery はデータベースにアクセスできません。投稿したコードからも、php でデータベースにアクセスし、jquery のみを使用してデータをフェードインするため、そのことを認識しているようです。

これまでに行ったことは問題ありませんが、php によってエコーされたすべてのデータを非表示にし、jquery にデータを解析させ、必要な行のみを表示/フェードさせる必要があります。次に、最後に表示されたデータをフェードアウトし、表示する次の行をフェードインします。このようにして、最新ニュースのサイクルを作成します。

クエリから判断すると、joomla を使用していると思われるので、うまく機能し、サーバー側の問題を回避できる別のソリューションを提案します。最新のニュースを保持する記事 (または k2 などの cck を使用する場合は項目) またはモジュールを作成します。それが記事の場合、それをサイトに表示されていないが公開されているメニュー項目に割り当てます(これは、コンテンツの素敵なURLを作成したり、単にデータにアクセスしたりするためのjoomlaの一般的な手法です)。モジュールの場合は、必要なページ (jquery コードが実行されるページ) に追加しますが、css を使用してこのモジュールを非表示にするためにクラス名を割り当てますdisplay:none

これにより、サーバー側のコードを維持する必要がなくなります。これには、私が見る限り、すでにいくつかの問題があります。つまり、db への joomla クエリでプレフィックスを使用しないでください。db にアクセスする joomla の方法を使用する必要があります。

また、このようにして、サーバー側のコードを記述したり、SQL クエリを変更したりすることなく、cms のコンテンツを管理できます。つまり、最新のニュースのみを表示したり、特定のカテゴリのニュースなどを表示したりできます。

最後に、その記事またはモジュールのコンテンツをスクリーン スクレイピング/解析し、フェードイン、フェードアウトなどの必要な効果を付けて任意の div にデータを追加する jquery コードを記述します。

于 2013-11-11T08:51:22.940 に答える
1

Jquery はデータベースに直接接続できません。ただし、php ファイルを作成して結果を取得し、AJAX 経由でそのページを呼び出すことができます。

于 2013-11-11T08:25:58.900 に答える
0

jquery を直接使用して mysql からデータを取得することはできません。これはサーバー側のコード (php) が機能するため、jquery でその php コードを呼び出すことができます。

はい、あなたが説明したようにデータを表示することは可能です。このような機能を備えた JQuery Cycle Plugin を使用できます。

http://jquery.malsup.com/cycle/

サンプルとデモをご覧ください。画像の代わりに、MySQL データベースからそれらのデータを配置するだけです。

于 2013-11-11T08:26:32.800 に答える