Mysql
 sql >> база данни >  >> RDS >> Mysql

PDO – Извличане на Assoc в цикъл „while“.

Така че да приемем, че единственият елемент, който някога е виждан, е последният елемент, това е защото това, което връщате, се презаписва всеки цикъл. Има няколко опции за разрешаване на това. Най-простият е:

$stmt = $this->conn->prepare('SELECT * FROM books');
$stmt->execute();

$text = "";
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
    $book_id = $row['id'];
    $book_title = $row['title'];
    $book_image = $row['image'];
    $book_amz = $row['amazon'];
    $book_desc = $row['description'];
    $book_rating = $row['rating'];
    $book_date = $row['date'];
    $book_author = $row['author'];
    $book_categorie = $row['categorie'];

    //String concatenation of text will 
    //give you one big string at the end to return.   
    $text .= "ID: '{$book_id}'";
}
return $text;

Това обаче няма да работи добре с вашия истински bootstrap html. Трябва да се уверите, че колоните се събират правилно.

Ще ви трябва нещо малко по-интуитивно

Използвайки действителния код, той ще изглежда нещо като

$stmt = $this->conn->prepare('SELECT * FROM books');
$stmt->execute();

$bookEcho = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    $bookEcho[] = '<div class="col-md-3">
                   <div class="thumbnail">
                   <span>' . $book_title . '</span>
                   <img src="' . $book_image . '">
                   <div class="book-options">
                   <span>Bewertung</span><br/>
                   ' . $stars . '
                   <a href="books.php?id=' . $book_id . '" class="btn btn-read btn-block">Jetzt lesen</a>
                   </div>
                   </div>
                   </div>';
}
return $bookEcho;

Сега във вашата функция, каквато и да е тя, можете да направите нещо подобно (това не е най-елегантното нещо, което някога съм писал, но трябва да свърши работата):

$cols = 4;
$colCount = 1;
foreach ($bookEcho as $book){
    if($colCount == 0){//create a row}
    echo $book;
    $coolCount++;
    if($colCount == 0){end a row}
    if($colCount == 4){ $colCount = 0;}
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да импортирам огромен CSV файл с 200,00 реда в MySQL (асинхронно и бързо)?

  2. MySQL:Как да избера записи за тази седмица?

  3. SQL заявка:списък на всички идентификатори, които са били активни през даден интервал от време, сортирани по началния им час

  4. Django Connect mysql проблем, NameError:име '_mysql' не е дефинирано

  5. Извличане на полето UTC DATETIME от MySQL в Java, когато часовата зона на сървъра не е UTC