Получение изображения из базы данных php mysql с использованием определенного идентификатора, вставленного пользователем

Я создал страницу для вставки изображения с некоторыми данными в базу данных в php / mysql.

Структура таблицы

имя Варчар (20) |
роллно варчар (50) первичный ключ |
адрес Варшар (100) |
изображение LONGBLOB

но я не знаю, как получить его с помощью рулона нет. то есть, когда пользователь вставляет номер рулона в текстовое поле и нажимает на кнопку «Отправить», он должен отображать все детали этого рулона, включая изображение.

Я использую код ниже для отображения изображения.

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "galleryupload";

// Create connection
$conn = new mysqli($servername, $username, $password,$dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM `vision` where `rollno` = VCI/2012-13/C/03"; // manipulate id ok
$sth = mysqli_query($conn,$sql);
$result=mysqli_fetch_array($sth);

echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image_file'] ).'"/>'
?>

0

Решение

Хорошо, я предполагаю, что это текстовое поле включено и HTML-страница, поэтому вам нужно будет использовать Javascript для получения информации с сервера, где находится база данных MySQL. Вам понадобится страница php на сервере, которую может вызывать Javascript. Для этого ответа я просто назову его getRecord.php. Кроме того, чтобы облегчить JavaScript, я рекомендую использовать jQuery. Я предполагаю, что вы знаете, как использовать это в этом ответе.

Javascript


var rollno = $("#inputbox").val();
$.get("getRecord.php",{
data: {rollno : rollno},
success: function(data){
data = JSON.parse(data);
//Display the data how you wish
}
);

getRecord.php

<?
$rollno = $_GET['rollno'];

//For the Database retrieval part, I'm going to assume you are using PDO, but if you're using mysqli, just translate this

$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$stmt= $db->prepare("SELECT * FROM table WHERE rollno = :rollno");
$stmt->execute(array(":rollno", $rollno));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($rows[0]);

//Because this should only return one row, im doing [0]. After echo, this will be sent back to the Javascript where the success function will execute
?>
0

Другие решения

На самом деле, вам не нужно использовать Javascript для этого (если вы не хотите получить и отобразить изображение без перезагрузки страницы).

Вы можете сделать это, имея форму и скрипт, отвечающие за получение изображения в одном и том же php-файле. Во-первых, отобразите форму (она будет отображаться даже после отправки и показа изображения):

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<input type="text" name="rollno">
<input type="submit" name="Search">
</form>

Затем давайте проверим, был ли получен запрос POST, ищем и отображаем изображение. Я использую код Jay S. для подключения к БД.

<?php
if (isset($_POST['rollno'])) {
$rollno = htmlspecialchars($_POST['rollno']);

$db = new PDO('mysql:host=localhost;dbname=testdb;', 'username', 'password');
$stmt= $db->prepare("SELECT * FROM table WHERE rollno = :rollno");
$stmt->execute(array(":rollno", $rollno));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

$row = $rows[0];

//display info about image
?>

<div class="row-info">
<span>Name: </span>
<span><?php echo $row['name'] ?></span>
</div>
<div class="row-info">
<span>Rollno: </span>
<span><?php echo $row['rollno'] ?></span>
</div>
<div class="row-info">
<span>Address: </span>
<span><?php echo $row['address'] ?></span>
</div>
<div class="image">
<img src="<?php echo $row['image'] ?>"/>
</div>

<?php
}

Конечно, вы должны добавить собственную разметку для отображения информации.

0

// this is the code of get.php page...

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "galleryupload";

// Create connection
$conn = new mysqli($servername, $username, $password,$dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM `vision` where `rollno` = VCI/2012-13/C/03"; // manipulate id ok
$sth = mysqli_query($conn,$sql);
$result=mysqli_fetch_array($sth);

echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image_file'] ).'"/>'

?>
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector