Я получил некоторое время l oop, и внутри этого l oop я получил другое время, пока l oop, что я хочу запускать только после button.click
Мой javascript код внутри профиля . php:
$('.commentbtn').click(function()
{
$.ajax({
url: 'includes/functions.inc.php',
type: 'GET',
data: {
'offset': 0,
'limit': 3
},
success: function(data)
{}
});
Мой php код внутри functions.in c. php:
function getProfilePostModals($conn)
{
$uid = $_SESSION['userId'];
$sql = "SELECT * FROM posts WHERE uid=$uid AND type=1";
$query = mysqli_query($conn, $sql);
while ($postrow = $query->fetch_assoc())
{
$pid = $postrow['pid'];
//// some code for the posts /////
echo "<input id='opencomments".$pid."' class='commentbtn' type='button' value='Comment'>";
if (isset($_GET['offset']) && isset($_GET['limit'])) {
$commentssql = "SELECT * FROM postcomments WHERE pid=$pid";
$commentsquery = mysqli_query($conn, $commentssql);
while ($commentrow = $commentsquery->fetch_assoc())
{
//// some code for the comments that i want to run after "offset" and "limit" isset
}
}
}
}
Все работало нормально, прежде чем я начал добавлять if(isset)
. Но теперь комментарии больше не подходят. То, что я хочу сделать, это загрузить функцию прокрутки для комментариев, я знаю, что это еще не полный код для этого, я просто пытаюсь посмотреть, смогу ли я заставить isset работать в первую очередь. Заранее спасибо, я все еще учусь.
ОБНОВЛЕНИЕ: В functions.in c. php есть более 1 функции внутри него и внутри моего профиля. php У меня есть этот код, чтобы получить все:
<?php include 'includes/functions.inc.php'; ?>
<?php getProfilePostModals($conn);?>
Я не знаю, помогает ли эта информация или нет.
** НОВОЕ ОБНОВЛЕНИЕ: **
getcomments.in c. php:
<?php if (isset($_GET['offset'])) {
require 'dbh.inc.php';
$pid = $_GET['pid'];
$commentssql = "SELECT * FROM postcomments WHERE pid=$pid";
$commentsquery = mysqli_query($conn, $commentssql);
while ($row = $commentsquery->fetch_assoc()) {
$commentuid = $row['uid'];
$pcid = $row['pcid'];
$commentpid = $row['pid'];
$commentdate = $row['date'];
$comment = $row['postcomment'];
$usersql = "SELECT * FROM users WHERE id=$commentuid";
$userquery = mysqli_query($conn, $usersql);
$userrow = $userquery->fetch_assoc();
$commentimage = $userrow['imageUsers'];
$ctusername = $userrow['uidUsers'];
echo "<div id='deletecomment".$pcid."' class='deletecommentverify'>
<form action='includes/deletecomment.inc.php' method='POST' runat='server' name='deletepost_form'>
<h3>Are you sure you want to delete this comment?</h3>
<input type='hidden' name='pcid' value='".$pcid."'>
<button class='deletecommentbtn' type='submit' name='deletecomment_submit'>Yes</button>
<input id='closedeletecomment".$pcid."' class='closedeletecomment' type='button' value='No'>
</form>
</div>
<div class='commentbox' id='commentbox".$pcid."'>
<img class='usercommentimage' src='images/".$commentimage."'>
<input type='hidden' name='commentuid' value='".$commentuid."'>
<p><a href='profile.php'>".$ctusername." </a> ".$comment."</p>";
if ($commentuid == $_SESSION['userId']) {
echo "
<span class='deletecommenticon' id='opendeletecomment".$pcid."'></span>";
}
echo "
<div class='comment_info'>
<span class='comment_count'>".$commentdate."</span>
</div>
</div>
";
}
}
И я сделал тест. php просто чтобы попробовать его с этим кодом:
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
session_start();
include 'includes/dbh.inc.php';
include 'includes/functions.inc.php';
include 'includes/like.inc.php';
include 'includes/getcomments.inc.php';
date_default_timezone_set('Europe/Copenhagen');
if (!isset($_SESSION['userId'])) {
header("Location: login.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Beautytrends</title>
<link href="https://fonts.googleapis.com/css?family=Mali|Raleway&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/fontawesome.min.css">
<link href="css/style.css" type="text/css" rel="stylesheet">
<link rel="icon" href="images/notext-logo.png">
</head>
<body>
<input id='181' class='commentbtn' data-id='181' type='button' value='Comment'>
<div id="profile-content">
</div>
<script src="js/jquery-3.4.1.min.js"></script>
<script>
$(document).ready(function(){
$('.commentbtn').click(function(){
var pid = $(this).attr("id")
$.ajax({
url: 'test.php',
type: 'GET',
data: {
'offset': 0,
'limit': 3,
'pid' = pid
},
success: function(data){
$('#profile-content').append(data);}
}
});
});
});
</script>
</body>
</html>
Но это все еще не работает. Я попытался добавить в файл «includes / getcomments.in c. php? Offset = 0 & limit = 3 & pid = 181» в браузере, а затем все всплыло, так что ajax не отправляет данные GET в getcomments.