2013-08-06 6 views
0

Я пытался повторить строку из таблицы тузд внутри DIV, но не работает, если я ставлю:Извлечение результатов из базы данных

 echo $row['test']; 

внутри while($row = $result->fetch_assoc()){ } он отлично работает, но я хотел, чтобы показать внутри Тег DIV. Я знаю, что у меня что-то не хватает, но не так, как есть. Спасибо за вашу помощь.

      <?php 
      $mydb = new mysqli('localhost', 'root', '', 'test'); 
      $sql = "SELECT * FROM test order by id limit 1 "; 
      $result = $mydb->query($sql); 
      if (!$result) { 
       echo $mydb->error; 
      } 
      while($row = $result->fetch_assoc()){ 
      } 
      $mydb->close(); 

      ?> 
      <html> 
      <head> 
      </head> 
      <body> 
      <div><? echo $row['test'];?> 
      </div>        
+0

Я не знаю, является ли это GLOBAL или нет, приведенный выше код - это все, что у меня есть. – user2584325

ответ

1

Вам просто нужно переместить свой html-код и PHP-код. $row существует внутри цикла while, и у вас есть его вне цикла while.

<?php 
     $mydb = new mysqli('localhost', 'root', '', 'test'); 
     $sql = "SELECT * FROM test order by id limit 1 "; 
     $result = $mydb->query($sql); 
     if (!$result) { 
      echo $mydb->error; 
     } 
     ?> 
     <html> 
      <head></head> 
      <body> 
      <?php while($row = $result->fetch_assoc()){ ?> 
       <div><?php echo $row['test'];?></div> 
      <?php 
      } 
      $mydb->close(); 
      ?> 
      </body> 
     </html> 

Это создаст новый div для каждой строки, извлеченной из базы данных.

0

вы закрываете соединение перед загрузкой

 $mydb->close(); 

удалить эту строку и поместить его в конце кода.

и введите код html внутри цикла while.

<?php 
    $mydb = new mysqli('localhost', 'root', '', 'test'); 
    $sql = "SELECT * FROM test order by id limit 1 "; 
    $result = $mydb->query($sql); 
    if (!$result) { 
    echo $mydb->error; 
} 
?> 
<html> 
<head> 
</head> 
<body> 
<div> 
<?php 
while($row = $result->fetch_assoc()){ 
echo $row['test']; 
} 
$mydb->close(); 
?> 
</div> 
</body> 
</html> 
0

Вам нужно просто поместить $row['test'] в свой блок while и переместить свой HTML.

<?php 
$mydb = new mysqli('localhost', 'root', '', 'test'); 
$sql = "SELECT * FROM test order by id limit 1 "; 
$result = $mydb->query($sql); 
if (!$result) { 
    echo $mydb->error; 
} 
?> 
<html> 
<head> 
</head> 
<body> 
<div> 
<?php 
while($row = $result->fetch_assoc()){ 
    echo $row['test']; 
} 
$mydb->close(); 
?> 
</div> 
</body> 
</html> 
Смежные вопросы