您好我已经在数据库中列出了一个人员列表,对于我关联文件的每个人,它可以是.pdf或.doc。我已经保存到数据库pdf或doc如何longblob。 现在,我想选择所有人及其文件(文件列是CV)。我这样做了:
if ($result->num_rows > 0) {
foreach ($result as $item) {
$dateTmp = explode("-",$item['ETA']);
$dt = $dateTmp[2]."/".$dateTmp[1]."/".$dateTmp[0];
$content=base64_encode($item['CV']);
$array[$index] = '<tr><td>' . $item['NOME'] . '</td><td>' . $item['COGNOME'] . '</td>
<td>' .$dt.'</td><td>' . $item['TITOLO'] .'</td><td> + </td><span>
<td>'.$item['EMAIL'].'</td><td>'.$item['TELEFONO'].'</td>
<td>'.$item['RUOLO'].'</td><td>'.$item['SEDE'].'</td>
<td><object data="'.$a.'" type="application/pdf">
</object></td>
</span></tr>';
$index++;
}
}
我完成周期后:
echo json_encode($array);
然后,在Ajax调用成功之后,我已经这样做了:
success: function (data) {
var result = data;
console.log(result);
$("#tableFilter tbody").append(result);
},
这种方法不起作用的原因? 哪里错了? 是否将文件放入元素对象?
我已经解决了这个问题: 我用这个改变了上面的代码:
$array[$index] = '<tr><td>' . $item['NOME'] . '</td><td>' . $item['COGNOME'] . '</td>
<td>' .$dt.'</td><td>' . $item['TITOLO'] .'</td><td> + </td><span>
<td>'.$item['EMAIL'].'</td><td>'.$item['TELEFONO'].'</td>
<td>'.$item['RUOLO'].'</td><td>'.$item['SEDE'].'</td>
<td><a href="download.php?id='.$item["ID"].'" title="DOWNLOAD ">DOWNLOAD FILE</a></td>
</span></tr>';
现在我创建一个带有链接到td的rowq,在href上我为下载文件添加了php页面,我还指定了href文件的id。然后,如果我点击我打电话的链接 的download.php?代码在哪里:
<?php
$id = $_GET['id'];
$servername = "localhost";
$username = "test";
$password = "mypassword";
$dbname = "mydb";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT BLOBFILE, NAMEFILE,TYPEFILE, SIZEFILE FROM candidati WHERE id = $id";
$result = $conn->query($sql);
$type;
$size;
$nameFile;
$file;
foreach ($result as $item){
$type = $item["TYPEFILE"];
$size = $item["SIZEFILE"];
$nameCv = $item["NAMEFILE"];
$cv = $item["BLOBFILE"];
}
header("Content-type: ".$type);
header("Content-length: ".$size);
header("Content-Disposition: attachment; filename=".$nameFile);
header("Content-Description: PHP Generated Data");
echo $file;
?>
然后开始下载文件。我有一个最后一个问题。既然我只有一行可以删除周期foreach?怎么样?