Aquí están los siguientes scripts que he creado. primero es el formulario que permite seleccionar una imagen para mostrar. La segunda es la página de visualización. Mi pregunta es ¿cómo puedo mostrar imágenes de mi formulario usando una base de datos/tabla en php? Solo quiero mostrar una sola imagen que he seleccionado usando el formulario de selección de archivo.
<!DOCTYPE html> <html> <body> <form action="display.php" method="post" enctype="multipart/form-data"> Select image to display: <input type="file" name="fileToDisplay" id="fileToDisplay"> <input type="submit" value="Display Image" name="submit"> </form> </body> </html>Este es el segundo guion
<?php $db = mysqli_connect("localhost","root", "", "myDB"); $sql = "SELECT * FROM images"; $result = mysqli_query($db, $sql); while ($row = mysqli_fetch_array($result)){ echo "<img src=' images/". $row['image']."' >"; echo "<p>". $row['text']."</p>"; echo "</div>"; }La forma más sencilla de hacerlo es cargar la imagen en el servidor y guardar el nombre de la imagen en su base de datos.
Subir la imagen al servidor y guardarla en la base de datos
// display.php $tmp_file = $_FILES['fileToDisplay']['tmp_name']; // get the temp name of the image $name = $_FILES['fileToDisplay']['name']; // get the name of the imageAhora necesita mover el archivo a un directorio en su servidor con move_uploaded_file() y guardar el nombre del archivo en la base de datos.
move_uploaded_file($tmp_file, 'images/' . $name) $remove_extension = explode('.', $name); $sql = "INSERT INTO `images`(`image`, `text`) VALUES ('$name', '$remove_extension[0]')";Código completo
// display.php $tmp_file = $_FILES['fileToDisplay']['tmp_name']; $name = $_FILES['fileToDisplay']['name']; if (move_uploaded_file($tmp_file, 'images/' . $name)) { $remove_extension = explode('.', $name); $sql = "INSERT INTO `images`(`image`, `text`) VALUES ('$name', '$remove_extension[0]')"; if (mysqli_query($db, $sql)) { $last_id = $db->insert_id; $sql = "SELECT * FROM images WHERE id = $last_id"; $result = mysqli_query($db, $sql); while ($row = mysqli_fetch_array($result)){ echo "<div><img src=' images/". $row['image']."' >"; echo "<p>". $row['text']."</p>"; echo "</div>"; } } }