Вывести из базы mysqli строки в переменную

278
20 апреля 2017, 18:23

Основная страница 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';
}

самое интересное, если я нажму по ссылке, то всё прекрасно выводит!

Answer 1

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';
}
Answer 2

Подключиться к bd для начала, сделать запрос к таблице сделать выборку (все строки или конкретную строку может последнюю) получим массив из массива уже вставлять)

Answer 3

в layaut.php include 'index.php'; проверь!

READ ALSO
Загрузка сайта Yii2 на хостинг

Загрузка сайта Yii2 на хостинг

Возникла такая проблемаПри загрузки frontent файлов на сервер, при обработки запроса выводит такую ошибку:

554
PHPExcel не видит ячейку

PHPExcel не видит ячейку

Беру значения из колонки G (колонка 6), запихиваю всё в массив

383
Как установить безопасные атрибуты yii 2?

Как установить безопасные атрибуты yii 2?

Работаю с базовой версиейСобираю данные с формы и хочу записать их в базу массово, через атрибуты

381
Шаблон стратегия

Шаблон стратегия

Есть такое задание:

342