请问各位老师,如何做一个上传图片,上传到数据库后,直接在当页显示图片 
现在上传图片的浏览按钮: <td class="app_table_right"> <input type="file" name="pic_image"  > </td>
旁边直接加个确定按钮: <td class="button_font" > <input name="add_pic" type="button" value="确定" onClick="mode.value='add_pic_ok';return check();"> </td>
点击了确定就把图传到数据库,然后在页面上直接显示出来
我现在module里是  if($mode=="add_pic_ok" ){
    $result = $da_bargain->add_pic_ok($_POST['BARGAIN_PIC']);?"添加成功":"添加失败";
  } 
class里是:
function bargain_pic_add($check_array){
    global $conn;
    $uploaddir='/usr/local/apache/htdocs/cybozucw/images/';
if (is_uploaded_file($_FILES['bargain_pic']['tmp_name']))
    {
$uploadname = basename($_FILES['bargain_pic']['name']); 
            copy($_FILES['bargain_pic']['tmp_name'],$uploaddir.trim($uploadname));
            $xtu = trim($uploadname);
}
$insertSQL = "insert into BARGAIN($BARGAIN_PIC)values('".addslashes($BARGAIN_PIC)."')";我这样写是否有错误?请各位老师指点谢谢

解决方案 »

  1.   

    ajax只是无刷新的提交数剧.你用ajax请求一个页面.在这个页面里处理你上传的东西.然后返回
    或者你就表单提交的地址写成当前面.在当前面处理上传显示.
      

  2.   

    我是在一个smarty程序上添加这个功能,所以,不知道该在哪个地方使用ajax,请问如果用php,该则么作?
      

  3.   

    tpl里是
    <form enctype="multipart/form-data" name="bargain_info" action="index.php" method="post">
    <input name="module" type="hidden" value="bargain">
    <input name="page" type="hidden" value="bargain_info">
    <input name="mode" type="hidden" value="">
    <table width="500" border="0" cellspacing="0" cellpadding="0"><tr>
        <td class="app_table_left">合同扫描图上传: </td>
        <td class="app_table_right"> <input type="file" name="bargain_pic"  > </td>
    <td class="button_font" > <input name="button" type="button"  value="上传" onClick="mode.value='add_pic'; check_edit();"> </td>
      </tr>
    module里是
      if($mode=="add_pic" ){
        $result = $da_bargain->add_pic($_POST['BARGAIN_PIC'])?"添加成功":"添加失败";
        $mode="list";
      }
    class里是:
    function pic_add($check_array){
        global $conn;
        $uploaddir='/usr/local/apache/htdocs/cybozucw/images/';
        $this->error = false;
    $this->error_message ="";
    $insertSQL="";
    if(trim($check_array["bargain_pic"])==""){
    $this->error=true;
    $this->error_message="合同图不能为空";
    return false;
    }
    $sql = "select * from BARGAIN where BARGAIN_ID='".trim($search_array['BARGAIN_ID'])."'";
    if (is_uploaded_file($_FILES['bargain_pic']['tmp_name']))
        {
    $uploadname = basename($_FILES['bargain_pic']['name']); 
                copy($_FILES['bargain_pic']['tmp_name'],$uploaddir.trim($uploadname));
                $BARGAIN_PIC = trim($uploadname);
    }
    $insertSQL = "insert into BARGAIN(BARGAIN_PIC)values('".addslashes($BARGAIN_PIC)."')";
    }
    但是点击上传后却没有反应,请教各位高手,是否是哪里写错,或漏写?
      

  4.   

    smarty 与 xajax 可完美融合,见xajax说明文档不要试图一口气吃成胖子