Должно быть довольно простым, но я не могу заставить его работать. У меня есть этот код для повторения запроса 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)) {