簡體   English   中英

AJAX轉PHP-不顯示新數據

[英]AJAX to PHP - Not displaying new data

我有一小排圖像,我可以單擊,然后將veriable修飾到一個php文件中以進行數據庫查詢。在那里接收到veriable,並執行正確的查詢。 問題是。 而不是在我的頁面上更新HTML。 它只是在我的控制台中回聲...有人知道為什么嗎。 我的代碼似乎足夠合法...

<div id='smallpagination' class='smallpagination'>

<script>
function showvid(vid){
    console.log ("sent"+vid);
    var $vid = vid;

     $.ajax({
                type: "POST",
                url: "smallpaginationdata.php", 
                data: {id: $vid}, 

                success: function(vid){
                    console.log(vid)
                },
                    error: function(){
                        alert("failure");
                    }
            });

};

</script>


<?php

//search according to chosen search critera NOT LIMITED//
include ("conect.php");

$startit = 0;

$startfrom=rand(0,20); 

$displayto=$startfrom+10;
$search=""; 


$startedfrom=$startfrom;


$sql = "SELECT * FROM testdata
WHERE title LIKE '%%$search%%'
LIMIT $startfrom , $displayto
";



                              // check how many results //
$result = $conn->query($sql);

$row_cnt = $result->num_rows;


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


$videos = $row['videos'];

$v_id = $row['id']; //<!---important is Video ID and needed for video click selection---->

$id = $row['id'];

$Name = $row['Name'];
if (empty($Name)) {$Name='Annonymous';}


$image = $row['image'];

$info = $row['info'];
if (empty($info)) {$info='Contact Listee (if Provided) , No Item Information Given';}

$phone = $row['phone'];
if (empty($phone)) {$phone='See Listing';}

$title = $row['title'];

$locate = $row['locate'];
if (empty($locate)) {$locate='Not Provided';}

$postcoded = $row['postcode'];
if (empty($postcoded)) {$postcoded='???';}

$price= $row['price'];
if (empty($price)) {$price='?';}
if ($price=='0') {$price='?';}

$date = $row['stamp'];
if (empty($date)) {$date='';}

if ($startit<1) {$gotid=$row['id']; $startit=$startit+1;};
    $vidd= $row['id']-0.01;
    $pidd= $row['id']-0.02;
    $type = $row['type'];
    $showinglocate=$row['id']-0.03;
    $showingphone=$row['id']-0.04;
    $displaytype="minlist";
            //Thumbnails sized listings     
            if ($displaytype=="minlist") {

            echo"
            <div class='floaterminhomepage'>
            <div class='innerfloaterminhomepage' >
            ";

            if (!empty($videos)) { 

            echo "

            <video id='$v_id' style='position:absolute;  top:0%; left:0%; width:100%; height:100%; background-size: cover; object-fit:fill;' preload='metadata' onclick='showvid($v_id);'>

            <source src='vid/{$row['videos']}.mp4' type='video/mp4'>
            <source src='vid/{$row['videos']}.mp4' type='video/ogg'>
            <source src='vid/{$row['videos']}.mp4' type='video/webm'>
            </video >



            "; }

            if (empty($videos) && empty($image)) { 

            echo "

            <img src='pageimages/blank.png' style='position:absolute; top:0%; left:0%;  width:100%; height:100%;'>
            "; }
            if (!empty($image) && empty($video))  { 

                    echo "


                    <img src='image/{$image}'  style='position:absolute;  top:0%; left:0%; width:100%; height:100%; background-size: cover; object-fit:fill;'>


                    "; }
            echo "

            </div> 
            </div> 

            "; } 
};
    ?>

</div> <!---smallpagination--->

<?php

include('smallpaginationdata.php');

?>


SEND ID TO THIS PHP FILE...

<?php
include ("conect.php");

if (isset($_POST['id'])) {

$gotid = strip_tags($_POST['id']); 
};

echo "recieved $gotid";

$sql = "SELECT * FROM testdata
WHERE id=$gotid;
";

 // check how many results //
$result = $conn->query($sql);
$row_cnt = $result->num_rows;
while($row = mysqli_fetch_assoc($result)) { 
$videos = $row['videos'];
$v_id = $row['id']; //<!---important is Video ID and needed for video click selection---->
$Name = $row['Name'];
if (empty($Name)) {$Name='Annonymous';}
$image = $row['image'];
$info = $row['info'];
if (empty($info)) {$info='Contact Listee (if Provided) , No Item Information Given';}
$phone = $row['phone'];
if (empty($phone)) {$phone='See Listing';}
$title = $row['title'];
$locate = $row['locate'];
if (empty($locate)) {$locate='Not Provided';}
$postcoded = $row['postcode'];
if (empty($postcoded)) {$postcoded='???';}
$price= $row['price'];
if (empty($price)) {$price='?';}
if ($price=='0') {$price='?';}
$date = $row['stamp'];
if (empty($date)) {$date='';}
$type = $row['type'];
};


THIS IS ECHOD INTO THE CONSOLE RATHER THAN IN THE PAGE???


echo "
<div id='pointerbox' class='pointerbox'>
</div>  
    <div id='smallpagdata' class='smallpagdata'>
     <h5> {$gotid} </h5>
    <h4><u>{$title}</u></h4>
    <p style='color:crimson; margin-top:0px;'>£{$price}</p>
    {$info}

    <p style='color:crimson; margin-top:-2px;'>{$locate}</p>
    <p style='color:blue; margin-top:-20px;'>{$Name}</p>
    <p style='color:crimson; margin-top:-14px;'>{$phone}</p>

    <p style='color:green; margin-top:0px;'>Thank you for viewing</p>
    <p style='color:green; margin-top:-12px;'>Double Click image to view full listing & videos</p>
    </div>  
";
?>

它發送正確的ID

並收到它。

並且正確的數據顯示在我的控制台m中,而不是在html中更新...

關於為什么的任何想法。

提前致謝。

ps的HTML已經准備好了,一旦顯示在HTML沒有問題,但一旦我onclick並發送ajax,它只是呼應到控制台?

您應該將響應添加到div,而不是在成功函數中使用console.log。 我不知道如何在jquery中完成此操作,但查找起來應該非常簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM