0

私はここ数日、データをphpスクリプトに投稿し、データベースから関連データを取得する.hoverスクリプトと格闘してきました。

details.inc.phpページへのIDデータの投稿は正常に機能しています。スクリプト内のアラートは、データを正しく取得して表示します。

データをdivに含めようとすると問題が発生しますが、何も起こらないようです。Firefoxは、正しいID情報を実行および取得するためのスクリプトを表示します。ここからどこへ行くのかわかりません。私はできる限りのことを試みましたが、Javaについての私の理解は限られています。事前に助けてくれてありがとう。

マウスオーバー関数が実行され、画像からIDが取得されます

<img src="#" class="latest"  id="id_retrieved_from_DB">

次に、idはjqueryとajaxを介して渡されます。ajaxは、details.inc.phpからidにリンクされたデータを取得します。取得されたデータは、「details」divに含まれる必要があります。

<script type="text/javascript">
    //Mouse over
    $(function(){
        $('.latest').hover(function() {
            id = $(this).attr('id');
            $.ajax({
        cache: false,
                url: "details.inc.php",
                data: 'hovered_id='+id,
                success:function(data){

                alert(data);//showing data correctly

                //not working here
        $("#details").load('details.inc.php', data);
                }
            });
return false;
        }
      });
</script>

details.inc.php

<?php require_once('../../Connections/userauthentication_conn.php'); ?>
<?php 
require_once('../../includes/session_remap.inc');
require_once('../../includes/tNG_functions.inc.php');
?>

<?php
$KTColParam1_rsDetails = "0";
if (isset($_GET["hovered_id"])) {
  $KTColParam1_rsDetails = (get_magic_quotes_gpc()) ? $_GET["hovered_id"] : addslashes($_GET["hovered_id"]);
}
mysql_select_db($database_userauthentication_conn, $userauthentication_conn);
$query_rsDetails = sprintf("SELECT tbl_entries.id_ent, tbl_entries.country_ent, tbl_entries.date_ent, tbl_entries.title_ent, tbl_entries.subject_ent, tbl_entries.description_ent, tbl_entries.image_ent, tbl_entries.url_ent FROM tbl_entries WHERE (tbl_entries.id_ent=%s) ORDER BY tbl_entries.date_ent DESC ", $KTColParam1_rsDetails);
$rsDetails = mysql_query($query_rsDetails, $userauthentication_conn) or die(mysql_error());
$row_rsDetails = mysql_fetch_assoc($rsDetails);
$totalRows_rsDetails = mysql_num_rows($rsDetails);
?>
<!-- Details -->
<a href="<?php echo $row_rsDetails['url_ent']; ?>" title="Go to <?php echo $row_rsDetails['title_ent']; ?>">
<?php
    //show if file exists
    if (file_exists("../../images/entries/" . $row_rsDetails['id_ent'] . "__img.jpg")) {
  ?>
  <img src="../../images/entries/<?php echo $row_rsDetails['id_ent']; ?>__img.jpg" width="70" height="70">
  <?php
    }
    //end show if file exists
  ?>
<p class="seriesName"><?php echo $row_rsDetails['subject_ent']; ?></p>
<h4 class="programTitle"><?php echo $row_rsDetails['title_ent']; ?></h4>
</a>
<!-- End -->
<?php
mysql_free_result($rsDetails);
?>
4

2 に答える 2

1

なぜ2回目のajax呼び出しを行うのですか?

javascriptで利用可能なデータがすでにある場合は、次のものを置き換えることができます。

$("#details").load('details.inc.php', data);

と:

$("#details").html(data);
于 2013-03-13T21:44:18.637 に答える
0

$( "#details")がスクリプトページにあり、それが結果を表示するdivである場合は、loadのみを使用できます。

//Mouse over
var id = $(this).attr('id');
$("#details").load('details.inc.php', 'hovered_id='+id, function(data){alert(data);});

または、$。get()を使用することもできます

JqueryマニュアルPOSTメソッドは、データがオブジェクトとして提供される場合に使用されます。それ以外の場合は、GETが想定されます。

そして、PHPスクリプトはgetを使用します。

于 2013-03-13T21:58:40.850 に答える