Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memaparkan Lima Imej BLOB Terakhir dari Pangkalan Data MySQL dalam PHP?
Memaparkan Imej BLOB daripada Pangkalan Data MySQL
Dalam soalan anda, anda menyatakan minat untuk mempamerkan lima imej BLOB terakhir yang dimuat naik ke jadual pangkalan data MySQL anda dinamakan "kedai." Sebagai pemula dalam PHP dan pengendalian pangkalan data, tugas ini mungkin kelihatan menakutkan. Mari kita pecahkan kepada langkah-langkah yang boleh diurus.
Menyimpan Imej dalam MySQL
Kod anda untuk menyimpan imej dalam pangkalan data nampaknya berfungsi. Ia menggunakan file_get_contents() untuk membaca data perduaan bagi fail yang dimuat naik dan addslashes() untuk melepaskan aksara khas. Anda kemudian memasukkan data ini ke dalam jadual "simpan" bersama-sama dengan nama dan saiz imej.
Mendapatkan Lima Imej Terakhir
Untuk mendapatkan semula lima imej terakhir yang dimuat naik, anda boleh menggunakan pertanyaan MySQL seperti ini:
<code class="sql">SELECT id, image FROM store ORDER BY id DESC LIMIT 5</code>
Pertanyaan ini menyusun keputusan dalam susunan menurun lajur id, dengan berkesan mengambil lima imej terakhir yang dimasukkan.
Memaparkan Imej
Untuk memaparkan imej pada halaman web, anda boleh menggunakan kod PHP berikut:
<code class="php">$result = mysqli_query($db, $sql); // Execute the SQL query while ($row = mysqli_fetch_assoc($result)) { // Iterate over the result rows echo "<img src='get.php?id=" . $row['id'] . "' />"; // Display the image using the `get.php` script }</code>
Kod di atas menggunakan gelung sementara untuk mengulangi baris hasil dan memaparkan teg img untuk setiap baris. Sumber imej ditetapkan kepada get.php, iaitu skrip PHP berasingan yang bertanggungjawab untuk mengambil data imej sebenar daripada pangkalan data.
get.php Skrip
Skrip get.php sepatutnya kelihatan seperti ini:
<code class="php">$id = addslashes($_GET['id']); // Get the image ID from the URL $image = mysqli_query($db, "SELECT image FROM store WHERE id=$id"); // Fetch the image data $image = mysqli_fetch_assoc($image); // Retrieve the image data as an array header("Content-type: image/jpeg"); // Set the content type for the image echo $image['image']; // Output the binary image data</code>
Skrip ini mengambil data imej untuk id yang ditentukan dan mengeluarkannya dengan jenis MIME yang betul, membolehkan penyemak imbas memaparkan imej.
Kesimpulan
Dengan mengikuti langkah ini, anda boleh berjaya memaparkan galeri lima imej terakhir yang dimuat naik ke pangkalan data MySQL anda dalam PHP. Ingat untuk melaraskan pertanyaan SQL dan kod PHP mengikut nama jadual dan lajur anda dan pertimbangkan untuk mengoptimumkan kod anda untuk prestasi, terutamanya jika berfungsi dengan fail imej yang besar.
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Lima Imej BLOB Terakhir dari Pangkalan Data MySQL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!