2015-01-22 12 views
0

Я создаю этот сайт, где люди могут добавлять события в календарь. Я создал форму, которая помещает данные в мою базу данных, но теперь я хочу узнать, как получить данные из базы данных! Поскольку я только начал этот проект в качестве школьного задания, у меня есть небольшая борьба с смешиванием PHP и HTML. Надеюсь, я поступил правильно;Как я могу отображать свои данные из базы данных SQL?

<?php 
include("template.php"); 

$servername = "servername"; 
$username = "username"; 
$password = "password"; 
$dbname = "dbname"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

?> 

<body> 
<div class="outer"> 
    <h2> Beheerderspagina </h2> 
    <hr> 

<?php 
$sql = "SELECT name, organisator, begin, end, location, province, price, sort, website, description FROM events"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0); 
    while($row = $result->fetch_assoc()); 
     echo <<<HTML 
      <div class="add"> 
       <div class="block"> 
        <div class="photo"> 
         <img src="geen_foto_beschikbaar.jpg" width="250px" height="250px"> 
        </div> 
        <div class="text"> 
         <div class="links"> 
          <p> 
          Naam:<br>Organisator:<br>Datum:<br>Locatie:<br>Provincie/land:<br>Gemiddelde prijs:<br>Genre:<br>Website:<br>Omschrijving </p> 
         </div> 
         <div class="rechts">   
HTML; 
          echo "<br>".$row["name"]."<br>".$row["organisator"]. "<br>". $row["begin"]. " tot ". $row["end"]. "<br>". $row["location"]. "<br>". $row["province"]. "<br>". $row["price"]. "<br>". $row["sort"]. "<br>". $row["website"]. "<br>". $row["description"]. "<br>"; 
    echo <<<HTML 
        </div> 
       </div> 
      </div> 
     </div> 
HTML; 
?> 

Так что это код, но он не работает. Проблема в том, что он не отображает мои данные. Появится слово «tot», но остальное просто пусто. Как можно циклически перебирать данные и отображать их в строке в div?

+0

Это звучит, как вы могли бы иметь частичную страницу рендеринга, остановленный ошибкой. Попробуйте «Просмотреть источник», чтобы увидеть, есть ли у вас какие-либо ошибки. – halfer

ответ

3
while($row = $result->fetch_assoc()); 

Вам не нужно ; здесь, перенесите код с {} вместо этого. Например:

while($row = $result->fetch_assoc()){ 
     echo <<<HTML 
      <div class="add"> 
       <div class="block"> 
        <div class="photo"> 
         <img src="geen_foto_beschikbaar.jpg" width="250px" height="250px"> 
        </div> 
        <div class="text"> 
         <div class="links"> 
          <p> 
          Naam:<br>Organisator:<br>Datum:<br>Locatie:<br>Provincie/land:<br>Gemiddelde prijs:<br>Genre:<br>Website:<br>Omschrijving </p> 
         </div> 
         <div class="rechts">   
HTML; 
          echo "<br>".$row["name"]."<br>".$row["organisator"]. "<br>". $row["begin"]. " tot ". $row["end"]. "<br>". $row["location"]. "<br>". $row["province"]. "<br>". $row["price"]. "<br>". $row["sort"]. "<br>". $row["website"]. "<br>". $row["description"]. "<br>"; 
    echo <<<HTML 
        </div> 
       </div> 
      </div> 
     </div> 
HTML;} 

То же самое с if заявление.

+2

Нет, mysqli не устарел и не устарел. Семья mysql_ * (обратите внимание на отсутствующий i) устарела. – Rangad

+0

О, ладно, извините за это. – Vick

+0

Как [ссылка] (http://php.net/manual/en/mysqlinfo.api.choosing.php) – Rangad

1

Обновленный свой цикл для следующих

<?php 
$sql = "SELECT name, organisator, begin, end, location, province, price, sort, website, description FROM events"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0){ 
    while($row = $result->fetch_assoc()){ 
?> 
      <div class="add"> 
       <div class="block"> 
        <div class="photo"> 
         <img src="geen_foto_beschikbaar.jpg" width="250px" height="250px"> 
        </div> 
        <div class="text"> 
         <div class="links"> 
          <p> 
          Naam:<br>Organisator:<br>Datum:<br>Locatie:<br>Provincie/land:<br>Gemiddelde prijs:<br>Genre:<br>Website:<br>Omschrijving </p> 
         </div> 
         <div class="rechts">   
          <br><?=$row["name"]?> 
          <br><?=$row["organisator"]?> 
          <br><?=$row["begin"]?> tot <?=$row["end"]?> 
          <br><?=$row["location"]?> 
          <br><?=$row["province"]?> 
          <br><?=$row["price"]?> 
          <br><?=$row["sort"]?> 
          <br><?=$row["website"]?> 
          <br><?=$row["description"]?><br> 
        </div> 
       </div> 
      </div> 
     </div> 
<?php 
    } 
} 
?> 
+0

спасибо! ваш ответ работает для меня до сих пор. Если я могу спросить, что это значит, когда вы запустите свою страницу, и она говорит; Попытка получить свойство не объекта в строке 38? в моем случае строка 38 является второй строкой кода, который вы мне только что дали. –

+0

Вам все равно нужно иметь инструкции подключения mysql поверх скрипта. '$ conn' в' $ result = $ conn-> query ($ sql); 'относится к переменной соединения – Lepanto

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