Как отобразить все данные из массива

У меня проблема с отображением данных из массива, которые я получаю из функции

    public function izpis_narocil($user)
{
    $sql = "SELECT * FROM nabava WHERE id_uporabnika=?";
    if ( !$this->stmt = $this->mysqli->prepare($sql) )
        throw new Exception("MySQL Prepare statement failed: ".$this->mysqli->error);

    $this->stmt->bind_param("i", $user);
    $this->stmt->execute();

    $result = $this->stmt->get_result();

    if ( $result->num_rows == 0)
    return "";

    return $result->fetch_assoc();
}

вот код, из которого вызывается функция:

<?php

session_start();
require_once(dirname(__FILE__)."/simpleusers/su.inc.php");
include($path."/menu.php");

$SimpleUsers = new SimpleUsers();

$userId = $_GET["userId"];
$user = $SimpleUsers->getSingleUser($userId);
if ( !$user )
    die("The user could not be found...");

$izpisnarocil = $SimpleUsers -> izpis_narocil($user[userId]);

?>

этот код продолжается с HTML-кодом для отображения содержимого.

Я хотел бы отобразить все строки в основном файле, которые вызывают функцию выше.

Спасибо за помощь ...

Откуда вы вызываете эту функцию для отображения строк?

Spring 19.04.2018 14:48

Я добавил код, из которого вызывается функция.

zupko 19.04.2018 14:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
2
65
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Чтобы отобразить результат в таблице, измените свой php-код таким образом.

<?php
public function izpis_narocil($user)
{
    $sql = "SELECT * FROM nabava WHERE id_uporabnika=?";
    if ( !$this->stmt = $this->mysqli->prepare($sql) )
        throw new Exception("MySQL Prepare statement failed: ".$this->mysqli->error);

    $this->stmt->bind_param("i", $user);
    $this->stmt->execute();

    $result = $this->stmt->get_result();

    if ( $result->num_rows == 0)
    return "";

    $data = array();
    while($row = $result->fetch_assoc()) {
            $data[] = $row;
    }

    return $data
}
?>

И файл, который вызывает izpis_narocil (),

<?php
   $izpisnarocil = $SimpleUsers -> izpis_narocil($user[userId]);

   $data = "<table>";
   foreach($izpisnarocil as $key=>$value) {
            $data .= "<tr><td>".$value['id_nabava']."</td><td>".$value['datum_vnosa']."</td><td>".$value['vrsta']."</td></tr>";
         }
        $data .= "</table>";
        echo $data;
    ?>

И добавьте другие поля, которые вы хотите отобразить.

Я попробовал это и получил результат: Предупреждение: недопустимое смещение строки id_nabava в /var/www/html/intra_komunalaBrezice/nabava.php в строке 52

zupko 23.04.2018 09:38

Вы можете разместить здесь свой массив?

Spring 23.04.2018 09:50

разве я не получаю массив из функции выше в моем вопросе, а затем с вызовом этой функции $ izpisnarocil = $ SimpleUsers -> izpis_narocil ($ user [userId]); извините, я новичок в этой функции вызова функции ...

zupko 23.04.2018 10:32

print_r ($ izpisnarocil); и выложите результат.

Spring 23.04.2018 11:22

Массив ([id_nabava] => 78 [datum_vnosa] => 2014-01-17 [vrsta] => 1 [narocilo] => AQUAmax -? ISTILNA NAPRAVA 4 PE - SBR [kolicina] => 1,0 KOS [os] => 0 [analiza] => 0 [analiza_st] => [datum_analize] => 0000-00-00 [povprasevanje] => 0 [datum_povprasevanja] => 0000-00-00 [sm] => [pr_dobavitelj] => ZAGO�EN [id_uporabnika] => 1 [prevzemnik] => [opomba] => Pla? Ilo на 24 оброков !! [datum_rok] => 0000-00-00 [naroceno] => 0 [narocilnica] => [status ] => Z [datum_narocila] => 2014-01-20 [datum_preklica] => 0000-00-00 [opomba_narocilo] => [samonabava] => 0 [datum_dobava] => 2014-01-21 [opomba_dobava] => )

zupko 23.04.2018 12:56

из результата я вижу, что результат возвращает только одну строку из базы данных. Мне нужны все строки. В чем проблема?

zupko 23.04.2018 12:57

Я обновил свой ответ

Spring 23.04.2018 15:17

по-прежнему ошибка недопустимое смещение строки ...

zupko 23.04.2018 22:11

Мне удалось заставить это работать. Я просто изменил цикл: while ($ row = $ result-> fetch_assoc ()) {$ data [] = $ row; }

zupko 24.04.2018 09:10

Упс, я это пропустил. Я обновил свой ответ. Спасибо !

Spring 24.04.2018 09:13

Показать сетку

Код

 $sql = "SELECT column1, column2,column3 FROM myTableName";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        echo "<table><tr><th>column1</th><th>column2</th><th>column3</th></tr>";
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo "<tr><td>" . $row["column1"]. "</td><td>" . $row["column2"]. " " . $row["column3"]. "</td></tr>";
        }
        echo "</table>";
    } else {
        echo "0 Results";
    }

Результат

+++++++++++++++++++++++++++++++
+ column1 + column2 + column3 +
+++++++++++ +++++++++ +++++++++
+ val1    +    val2 + + val3  +
+++++++++++ +++++++++ +++++++++

После получения результата из базы данных, пожалуйста, следуйте

<?php
    $izpisnarocil = $SimpleUsers -> izpis_narocil($user[userId]);

    echo '<table>';
    echo '<thead><tr><th>column1</th><th>column2</th><th>column3</th></tr></thead><tbody>'; 
    foreach($izpisnarocil as $row) {
        echo'<tr>'; 
        echo'<td>'. $row['FieldName1']."</td>";
        echo'<td>'. $row['FieldName2'].'</td>';
        echo'<td>'. $row['FieldName3'].'</td>';
        echo'<tr>';

     }
    echo '</tbody>'; 
    echo '</table>'; 
?>

Я надеюсь, это поможет вам

Примечание: Замените FieldName своим значением

Другие вопросы по теме