Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PDO - Tìm nạp PGS trong vòng lặp 'while'

Vì vậy, đưa ra giả định rằng phần tử duy nhất từng thấy là phần tử cuối cùng vì những gì bạn đang trả về đang bị ghi đè mỗi vòng lặp. Có một số tùy chọn để giải quyết vấn đề này. Đơn giản nhất là:

$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;

Tuy nhiên, điều này sẽ không hoạt động tốt với html bootstrap thực của bạn. Bạn cần đảm bảo rằng các cột được bổ sung đúng.

Bạn sẽ cần thứ gì đó trực quan hơn một chút

Sử dụng mã thực, nó sẽ trông giống như

$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;

Bây giờ trong chức năng của bạn, bạn có thể làm điều gì đó như thế nào (đây không phải là điều tao nhã nhất mà tôi từng viết nhưng nên hoàn thành công việc):

$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. Cách lấy cấu trúc php phân cấp từ bảng db, trong mảng php hoặc JSON

  2. Tiêu chí ngủ đông với tự tham gia

  3. Cách giải quyết mệnh đề ORDER BY không có trong danh sách SELECT gây ra MySQL 5.7 với SELECT DISTINCT và ORDER BY

  4. NameError:name '_mysql' không được xác định sau khi thiết lập thay đổi thành mysql

  5. Hỗ trợ giao dịch công cụ MyIsam