下面我提到了 AJAX 脚本,我想在上传时为每张照片附加数据库中的 id。但是当在下面的脚本中使用“var m='_'+x;”时,它没有获得记录的数据库ID(当我打印它时,它显示为空白)。那么如何检索一行的数据库ID并附加到AJAX脚本中?照片被上传并存储在带有ID的提到的文件夹中。但是在当我检查页面源时,它显示该页面。ID 不会在中间加载。
$(function(){
var btnUpload=$('#me');
var mestatus=$('#mestatus');
var files=$('#files');
new AjaxUpload(btnUpload, {
action: 'uploadPhoto.php',
name: 'uploadfile',
onSubmit: function(file, ext)
{
if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
// extension is not allowed
mestatus.text('Only JPG, PNG or GIF files are allowed');
return false;
}
mestatus.html('<img src="ajax-loader.gif" height="16" width="16" align="left">');
},
onComplete: function(file, response){
// alert(response)
//On completion clear the status
mestatus.text('');
//On completion clear the status
files.html('');
//Add uploaded file to list
if(response==="success")
{
var x=file;
var m='<?=$data44[id]?>_'+x;
document.getElementById('img_name').value=x;
$('<li></li>').appendTo('#files').html('<img src="photo/demophoto_'+m+'" alt="" height="110px" width="95px" /><br />').addClass('success');
} else{
$('<li></li>').appendTo('#files').text(file).addClass('error');
}
}
});
});
上传照片.php
include_once("db.php");
$sel="select usnno from usn where id='$_SESSION[lgkey]'";
$qry=mysql_query($sel) or die(mysql_error());
$row=mysql_fetch_array($qry);
$sel44=mysql_query("select * from reg_form where usn='$row[usnno]' ");
$data44=mysql_fetch_array($sel44);
$uploaddir = './photo/';
$file = $uploaddir ."demophoto_".$data44['id'].'_'.basename($_FILES['uploadfile']['name']);
$file_name= "demophoto_".$data44['id'].'_'.$_FILES['uploadfile']['name'];
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {
echo "success";
} else {
echo "error";
}
最佳答案
请更改您的代码:
var m='<?=$data44[id]?>_'+x;
以下内容:
var m='<?=$data44["id"]?>_'+x;
只需在“id”之间添加双引号即可。
关于php - 如何使用 PHP MySQL 在 AJAX 脚本中获取数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24992992/