обновление содержимого веб-страницы из базы данных с использованием php

#php #html #mysql

#php #HTML #mysql

Вопрос:

Я использую php для загрузки данных в базу данных и использую php для отображения данных из базы данных.

В приведенном ниже скрипте я использую php для отображения всего содержимого из базы данных. Каждая строка в таблице базы данных будет отображаться в <div> элементе, а <p> элемент используется для хранения каждого столбца в строке.

Но скрипт на самом деле никогда не запускается! Я обнаружил, что ошибка связана с символом > в конце каждого тега в echo инструкции, например:

> В инструкции echo "<div class="post">";

если я удалю этот > символ, то следующий > вызовет ту же проблему.

Вначале я думал, что это из-за кавычек, но я попробовал «вместо «» в инструкции echo, но у меня все еще была та же проблема. Итак, как именно использовать HTML-тег в коде php?

Я думаю, что здесь возникает некоторое недопонимание.

Это полный скрипт:

             <div class="dashboardA">
                <?php
                    $con = mysqli_connect("localhost", "Dave", "password");
                    if (!$con){
                        die ("Could not connect to database: " . mysqli_connect_error());
                    }
                    mysqli_select_db($con, "snippet");

                    $sql = mysqli_query($con, "select * from persons");

                    while ($data=mysqli_fetch_array("$sql")){
                        echo "<div class="post">";
                        echo "<p>"; echo $data["FirstName"]; echo "</p>";
                        echo "</div>";
                    }
                ?>
            </div>
  

ВЫВОД

 '; echo "
" . $data["FirstName"] . "

"; echo "
"; } ?>
  

Комментарии:

1. вы должны экранировать кавычки doule («) внутри ваших html-строк. Например: echo «<div class=»post»>»; должно стать echo «<div class=»post»>»; ИЛИ echo ‘<div class=»post»>’;

2. Измените echo "<div class="post">"; на echo "<div class="post">"; или echo "<div class='post'>";

3. Я надеюсь, что ваш пароль не «password»

4. @Strawberry ах, это всего лишь тестовая база данных, так что… 🙂 вы знаете 🙂 с использованием сервера wamp

5. в чем разница между echo "<div class='post'>" и echo '<div class="post">'; ??

Ответ №1:

Пожалуйста, попробуйте это:

 while ($data=mysqli_fetch_array($sql)){
                        echo '<div class="post">';
                        echo '<p>' . $data["FirstName"] . '</p>';
                        echo '</div>';
                    }
  

Будьте осторожны с кавычками и используйте символ точки для объединения строк.

Ответ №2:

Попробуйте использовать

 while ($data=mysqli_fetch_array("$sql")){
                    echo "<div class="post">";
                    echo "<p>"; echo $data["FirstName"]; echo "</p>";
                    echo "</div>";
                }
  

Обратите внимание, что при изменении не использовался ‘class=»post»>’, вам лучше использовать ‘ class= «post»> ‘.

Это настолько просто, что то, как вы это сделали, вы просто взяли слово «post» из строки echo знаком » » вы отмечаете знаки «» ‘ как часть строки.

Надеюсь, я смог помочь и решить проблему, мир.

Вы попробовали то, что я написал? Это должно сработать на самом деле.

Комментарии:

1. Как насчет изменения ‘ echo «<p>»; echo $data[«FirstName»]; echo «</p>»; ‘ на это: echo «<p>» . $data[«FirstName»] . «</p>»;

2. нет, это не работает. Я уже пробовал это. Проблема исходит от этого персонажа > , дело не в кавычках …

3. Я использовал view page source в Chrome, и я вижу 2 разных цвета в блоке php. Это означает, что в блоке php есть некоторые синтаксические ошибки, но я просто не знаю, как это вообще исправить. Я новичок в php…

4. Тогда я не знаю, может ли это помочь, но замените «>» на «amp; >». Это обычная HTML-кодировка для знака «>». Другим было бы «<«. Ска жите мне, работает ли это

5. ну, на веб-странице ничего не отображается… Спасибо за вашу помощь anw 🙂