Основная страница layout.php:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
<body>
<ul>
<li><a href="index.php">Index</a></li>
</ul>
<div id="content"><?php echo $content; ?></div>
<script>
$(document).ready(function() {
$('a').click(function() {
var url = $(this).attr('href');
$.ajax({
url: url + '?ajax=1',
success: function(data){
$('#content').html(data);
}
});
if(url != window.location){
window.history.pushState(null, null, url);
}
return false;
});
$(window).bind('popstate', function() {
$.ajax({
url: location.pathname + '?ajax=1',
success: function(data) {
$('#content').html(data);
}
});
});
});
</script>
</body>
</html>
Страница index.php а точнее это $content
include("dbconfig.php");
$query=mysqli_query($dbconfig,"select * from table");
if (isset($_GET['ajax'])) {
while($var=mysqli_fetch_array($query))
{
echo $content="<li>".$var['title'].'</li>';
}
} else {
include_once 'layout.php';
}
Если использовать это в index.php всё работает! Но здесь без вывода из бд.
$content = '123321test123321';
if (isset($_GET['ajax'])) {
echo $content;
} else {
include_once 'layout.php';
}
Попробовал так и тоже не получилось:
include("dbconfig.php");
$query=mysqli_query($dbconfig,"select * from table ORDER BY id DESC LIMIT 1");
$row = mysqli_fetch_assoc($query);
$count = mysqli_num_rows($query);
if ((isset($_GET['ajax'])) && ($count >= 1)) {
echo $content="<li>".$row['title']."</li>";
} else {
include_once 'layout.php';
}
самое интересное, если я нажму по ссылке, то всё прекрасно выводит!
layout.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
<body>
<ul>
<li><a href="index.php">Index</a></li>
</ul>
<div id="content"><?php echo $content; ?></div>
<script>
$(document).ready(function() {
$('a').click(function() {
var url = $(this).attr('href');
$.ajax({
// url уже может содержать параметры, так что проверяем,
// как нам добавлять ещё один параметр
url: url + (/\?/.test(url) ? '&':'?') + 'ajax=1',
success: function(data){
$('#content').html(data);
}
});
if(url != window.location){
window.history.pushState(null, null, url);
}
return false;
});
$(window).bind('popstate', function() {
$.ajax({
url: location.pathname + (/\?/.test(location.pathname) ? '&':'?') + 'ajax=1',
success: function(data) {
$('#content').html(data);
}
});
});
});
</script>
</body>
</html>
index.php
include("dbconfig.php");
$limit = 3;
$start = 0;
$content = '';
if(isset($_GET['id'])) {
$id = intval($_GET['id']);
$start = ($id-1) * $limit;
}
//* получаем данные и кладем их в $content
$query = mysqli_query($dbconfig, "SELECT * FROM table ORDER BY id DESC LIMIT $start, $limit");
while($row = mysqli_fetch_array($query)) {
$content .= "<li>".$row['title']."</li>";
}
if(isset($_GET['ajax'])) {
//* если запрос яаксом - возвращаем только данные
echo $content;
} else {
//* если обычный запрос - возвращаем всю HTML-страницу
include_once 'layout.php';
}
Подключиться к bd для начала, сделать запрос к таблице сделать выборку (все строки или конкретную строку может последнюю) получим массив из массива уже вставлять)
в layaut.php include 'index.php'; проверь!
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости