2015-02-01 2 views
-1

Когда я печатаю свой код, он печатает только вопрос и описание id = 1, но не остальную часть таблицы.Отображение ВСЕХ данных из таблицы sql в PHP?

вот мой код.

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

Спасибо большое!

<?php 

require_once "connection.php"; 

if(isset($_POST['submit'])) { 

    $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 

    if($conn->connect_error) { 

     die("connection error: " . $conn->connect_error); 
    } else { 

     echo "Submit button connected to database!"; 
    } 

    $question = $_POST['question']; 
    $description = $_POST['description']; 

    $sql = " INSERT INTO `ask` (question_id, question, description) VALUES 
    (NULL, '{$question}', '{$description}') "; 

    if($conn->query($sql)) { 

     echo "it worked"; 
    } else { 

     echo "error: " . $conn->error; 

     exit(); 
    } 


    $query = "SELECT * FROM `ask` "; 

    if($result = $conn->query($query)) { 
     $fetch = $result->fetch_assoc(); 

     echo "<p>{$fetch['question']}</p>"; 
     echo "<p>{$fetch['description']}</p>"; 

    } else { 
     echo "failed to fetch array"; 
    } 






} 


?> 
+0

Вы только извлекая первую строку результирующего набора. Вам нужен цикл для извлечения всех строк. Есть много, много учебников по этому - идите найти один. –

ответ

0

Вам нужно для каждого цикла:

<?php 

require_once "connection.php"; 

if(isset($_POST['submit'])) { 

    $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 

    if($conn->connect_error) { 

     die("connection error: " . $conn->connect_error); 
    } else { 

     echo "Submit button connected to database!"; 
    } 

    $question = $_POST['question']; 
    $description = $_POST['description']; 

    $sql = " INSERT INTO `ask` (question_id, question, description) VALUES 
    (NULL, '{$question}', '{$description}') "; 

    if($conn->query($sql)) { 

     echo "it worked"; 
    } else { 

     echo "error: " . $conn->error; 

     exit(); 
    } 


    $query = "SELECT * FROM `ask` "; 

    if($result = $conn->query($query)) { 
     $fetch = mysql_fetch_array($result, MYSQL_ASSOC); 
     foreach($fetch as $ques) { 
      echo "<p>" . $ques['question'] . "</p>"; 
      echo "<p>" . $ques['description'] . "</p>"; 
     } 

    } else { 
     echo "failed to fetch array"; 
    } 






} 


?> 

Все, что я сделал там изменение:

$fetch = $result->fetch_assoc(); 

echo "<p>{$fetch['question']}</p>"; 
echo "<p>{$fetch['description']}</p>"; 

к:

$fetch = mysql_fetch_array($result, MYSQL_ASSOC); 
foreach($fetch as $ques) { 
    echo "<p>" . $ques['question'] . "</p>"; 
    echo "<p>" . $ques['description'] . "</p>"; 
} 
+0

Привет, есть сообщение об ошибке Предупреждение: Недопустимое смещение строки «вопрос» в C: \ xampp \ htdocs \ homepage \ home.php в строке 39 Предупреждение: Недопустимое строковое смещение 'description' в C: \ xampp \ HTDOCS \ домашней страницы \ home.php на линии 40 Предупреждение: Illegal строка смещения 'вопроса' в C: \ XAMPP \ HTDOCS \ домашней страницы \ home.php на линии 39 ч Предупреждение: Illegal строки смещения 'description' в C: \ xampp \ htdocs \ homepage \ home.php в строке 40 h Предупреждение: недопустимое смещение строки «вопрос» в C: \ xampp \ htdocs \ homepage \ home.php в строке 39 h Предупреждение: Недопустимое строковое смещение 'description' в C: \ xampp \ htdocs \ homepage \ home.php on line – 75Kane

+0

Это означает, что по какой-то причине вы только получив один ряд. Таким образом, $ ques заканчивается как строка, а не массив. Вы определенно использовали mysql_fetch_array, а не только fetch_assoc? –

0

FETCH_ASSOC() - Получение строки результата в виде ассоциативного массива

поэтому он получает только 1 строку, которую нужно перебрать остальных строк проверить примеры reference from php docs

Смежные вопросы