Добрый день, помогите пожалуйста с кодом. Нужно вытащить данные из БД через ajax по клику на кнопку. Мой код, направьте, что не так делаю. js при нажатии на кнопку Код (Javascript): $('.more_b').click(function(){ $.ajax({ url: "/ajax.php", type: "post", dataType: "json", success: function(data){ $('.ajax_result_more').html(data.result); } }); }); Код ajax.php PHP: <?php $connect = new mysqli("127.0.0.1", "root", "", "testbase" ); $connect->query("SET NAMES 'utf8' "); $result = $connect->query('SELECT name FROM `testtable` ORDER BY id DESC'); ?> <?php while ($row = $result->fetch_assoc()): ?> <?php $msg_box = $row['name']; ?> <?php endwhile; ?> <? // делаем ответ на клиентскую часть в формате JSON echo json_encode(array( 'result' => $msg_box )); ?> Сейчас в результате выводится только имя из первой строки из БД, а нужно чтобы выводились имена со всех строк таблицы. Как мне результат fetch_assoc поместить в переменную $msg_box?
PHP: json...( [ ... -> fetch_all( \MYSQLI_ASSOC ) ] ); --- Добавлено --- в ajax сам разберешься, почему чудо думает что: "строка - это массив, или объект"
а чего не каждую строку в теги <> то заключили.. каков смысл? если можно PHP: <?php $connect = new mysqli("127.0.0.1", "root", "", "testbase" ); $connect->query("SET NAMES 'utf8' "); $result = $connect->query('SELECT name FROM `testtable` ORDER BY id DESC'); while ($row = $result->fetch_assoc()): $msg_box = $row['name']; endwhile; // делаем ответ на клиентскую часть в формате JSON echo json_encode(array( 'result' => $msg_box )); если $msg_box строку надо, то и делайте строку PHP: $msg_box. = $row['name'].'<br'>'; например
Если у Вас есть список полей в таблице, то нужно кроме name вывести и другие поля... Код (Text): <?php echo $row['name'] ; echo $row['field_1'] ; echo $row['field_2'] ; ?> И это надо делать в цикле while --- Добавлено --- Фактически же ты выводишь только одну переменную. Код (Text): echo json_encode(array( 'result' => $msg_box
Я немного не понял сначала, что нужно сформировать JSON. Код (Text): $msg_box = ''; while ($row = $result->fetch_assoc()): $msg_box .= $row['name']; endwhile; // делаем ответ на клиентскую часть в формате JSON echo json_encode(array( 'result' => $msg_box )); ?>