使用php在html表单中显示来自数据库的图像

时间:2014-03-22 16:47:02

标签: php

<?php
     $itemId=(\filter_input(\INPUT_POST,'itemId'));
     $title=(\filter_input(\INPUT_POST,'title'));
     $subtitle=(\filter_input(\INPUT_POST,'subtitle'));
     $availability=(\filter_input(\INPUT_POST,'availability'));
     $price=(\filter_input(\INPUT_POST,'price'));
     $custopt=(\filter_input(\INPUT_POST,'custopt'));
     $r1=(\filter_input(\INPUT_POST,'r1'));
     $r2=(\filter_input(\INPUT_POST,'r2'));
     $c1=(\filter_input(\INPUT_POST,'c1'));
     $c2=(\filter_input(\INPUT_POST,'c2'));
     $filename=$_FILES["photo"]["name"];
     $sql="select * from starterveg where itemId='$itemId'";
     $result=  \mysqli_query($dbhandle,$sql);
     /* @var $header type */
     $row=  \mysqli_fetch_array($result);
     if($row['itemId']===$itemId || $row['title']===$title)  
      {
        $itemId=$row['itemId'];
        $title=$row['title'];
        $subtitle=$row['subtitle'];
        $descript=$row['descript'];  
        $availability=$row['availability'];
        $price=$row['price'];
        $r1=$row['r1'];
        $r2=$row['r2'];
        $c1=$row['c1'];
        $c2=$row['c2'];
         $filename=$row['filename'];
       } 
 ?>  

html文件:

<html>
    <head>
    <title>Add</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <link rel="stylesheet" type='text/css' href="pdtcatdesign.css">
    </head>
    <body>
    <h1>Product Catalog</h1>
    <script src="addimage.js"></script>
    <form id="addform" method="post" action="adddbconn.php" enctype="multipart/form-data">
    <input id='itemId' name="itemId" type='text' value="<?php echo $itemId ?>"/>
        <input id='title' name="title" type='text' value="<?php echo $title ?>"/>
        <input id='subtitle' name="subtitle" type='text' value="<?php echo $subtitle?>"/>
        <textarea id="descript" name="descript" cols="68" rows="3"><?=$descript?></textarea>
     <input type="radio" id="ra1" name="availability" value="Yes" <?php if($row['availability']==='Yes') : ?>  checked="checked" <?php endif; ?>/>
        <input type="radio" id="ra2" name="availability" value="No" <?php if($row['availability']==='No') : ?>  checked="checked" <?php endif; ?> />

        <input id="price" name="price" type="text" value="<?php echo $price?>;"/>            
        <input id="r1" name="r1" type="text" value="<?php echo $r1?>"/>
        <input id="r2" name="r2" type="text" value="<?php echo $r2?>"/>
        <input type="text" name="c1" id="c1" value="<?php echo $c1?>"/>
        <input type="text" name="c2" id="c2" value="<?php echo $c2?>"/>
    <input type="file" id="uploadImage" name="photo" onchange="PreviewImage();"/>
        <img id="uploadPreview"  style="width:100px;height:100px;"  alt=image src="#"/>

        </div>
    <canvas id="rect" width="300" height="75"></canvas>
        <div>

        <input type="submit" id="sub" value="Save" name="save"/>

    </div>
    </form>
</body>

  

块引用

我有一个名为 update.php 的php页面,它有一个文本框,其中输入了项目ID。当我点击提交按钮时,它会打开 display.php 从mysql数据库中检索所有细节并以html格式显示,除了图像。如何从数据库中检索图像并通过PHP代码以html格式显示?帮助我从数据库检索图像到html表单.. < / p>

2 个答案:

答案 0 :(得分:0)

你不清楚自己想要什么。假设您尝试根据数据库的结果显示图像:

选项1: base64_encode您的图片并从数据库中检索。

// Store the image
    $image = imagecreatefromstring("file/path");
    ob_start();
    imagepng($image);
    $content =  ob_get_contents();
    ob_end_clean();
    $result = base64_encode($content);
    imagedestroy($image);

// Display the image
    echo '<img src="data:image/gif;base64,' . $data . '" />';

选项2:将图像文件保存在网络服务器上,并将图像路径存储在数据库中。

echo '<img src="' . $dbresult . '">

我个人会使用option 2

答案 1 :(得分:0)

最佳方法是仅在数据库中存储路径,因为这样可以节省大量CPU资源。使用这样的代码显示图像:

print '<img src="http://mybeautifulsite.byethost22.com/' . $articles->image_1 . '" width="100%" alt="' . $articles->image_1 . '"/>';

根据自己的情况调整。这很容易。