Должно быть довольно простым, но я не могу заставить его работать. У меня есть этот код для повторения запроса mysqli:
while($row = mysqli_fetch_array($result)) { $posts[] = $row['post_id'].$row['post_title'].$row['content']; }
Он работает и возвращает:
Переменная # 1: (Array, 3 элемента) ↵ 0 (String): «4testtest» (9 символов) 1 (String): «Ядро мира! Добро пожаловать в WordPress. Это ваш первый пост. Отредактируйте или удалите его, а затем начните вести блог !» (99 символов) 2 (String): «2Sample Page Это страница примера. Она отличается от сообщения в блоге, потому что она останется в одном месте и появится в навигации по сайту (в большинстве тем)». (161 символ)
Проблема в том, что он помещает все три столбца в один столбец, поэтому я не могу получить к ним доступ отдельно.
Это, например:
0 (String): «4testtest» (9 символов)
Должно быть разделено на 4, проверить, проверить
Когда я это делаю:
while($row = mysqli_fetch_array($result)) { $posts['post_id'] = $row['post_id']; $posts['post_title'] = $row['post_title']; $posts['type'] = $row['type']; $posts['author'] = $row['author']; }
Он выводит только 1 строку вместо всех трех …
Любая помощь очень ценится!
Получите все значения из MySQL:
$post = array(); while($row = mysql_fetch_assoc($result)) { $post[] = $row; }
Затем, чтобы получить каждое значение:
<?php foreach ($posts as $row) { foreach ($row as $element) { echo $element."<br>"; } } ?>
Чтобы повторить значения. Или получить каждый элемент из переменной $ post
Я думаю, что это будет более простой способ вывода ваших результатов.
Извините за использование моих собственных данных, их следует легко заменить.
$query = "SELECT * FROM category "; $result = mysqli_query($connection, $query); while($row = mysqli_fetch_assoc($result)) { $cat_id = $row['cat_id']; $cat_title = $row['cat_title']; echo $cat_id . " " . $cat_title ."<br>"; }
Это приведет к выводу:
Это было вашим решением.
$x = 0; while($row = mysqli_fetch_array($result)) { $posts[$x]['post_id'] = $row['post_id']; $posts[$x]['post_title'] = $row['post_title']; $posts[$x]['type'] = $row['type']; $posts[$x]['author'] = $row['author']; $x++; }
Оба будут отлично работать в mysqli_fetch_array во время циклов
while($row = mysqli_fetch_array($result,MYSQLI_BOTH)) { $posts[] = $row['post_id'].$row['post_title'].$row['content']; }
(ИЛИ)
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { $posts[] = $row['post_id'].$row['post_title'].$row['content']; }
mysqli_fetch_array () – имеет второй аргумент $ resulttype.
MYSQLI_ASSOC: выборка ассоциативного массива
MYSQLI_NUM: выборка числового массива
MYSQLI_BOTH: выбор как ассоциативного, так и числового массивов.
Попробуй это :
$i = 0; while($row = mysqli_fetch_array($result)) { $posts['post_id'] = $row[$i]['post_id']; $posts['post_title'] = $row[$i]['post_title']; $posts['type'] = $row[$i]['type']; $posts['author'] = $row[$i]['author']; } $i++; } print_r($posts);
Попробуй это…
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {