我在php / mysql中创建了一个页面,用于将一些数据插入到数据库中。
表格结构
名称Varchar(20)| rollno Varchar(50)PRIMARY KEY | 地址Varchar(100)| 图片LONGBLOB
但我不知道如何使用roll no检索它。即,当用户在文本框中插入卷号并单击提交时,它应显示该卷的所有详细信息,包括图像。
我正在使用下面的代码进行图像显示。
<?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 :(得分:0)
好的,我假设这个文本框是打开的和HTML页面,所以你需要使用Javascript从MySQL数据库所在的服务器获取信息。你需要一个Javascript可以调用的服务器上的php页面。对于这个答案,我只需将其命名为getRecord.php。另外,为了使JavaScript更容易,我建议使用jQuery。我会假设你知道在这个答案中使用它。
var rollno = $("#inputbox").val();
$.get("getRecord.php",{
data: {rollno : rollno},
success: function(data){
data = JSON.parse(data);
//Display the data how you wish
}
);
<?
$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
?>
答案 1 :(得分: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
}
当然,您应该添加自己的标记来显示信息。
答案 2 :(得分: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'] ).'"/>'
?>