php - 我需要向我的动态数据表添加超链接
问题描述
我有一个表,它从我的数据库中提取数据并从数据库表中显示它。我想为狗名添加超链接。我找到的所有文档都显示了如何使用静态数据而不是下面的动态示例来执行此操作:
var responseObj = [
{ "information": "A1", "weblink": "http://www.microsoft.com" },
{ "information": "A2", "weblink": "http://www.yahoo.com" },
{ "information": "A3", "weblink": "http://www.google.com" },
{ "information": "A4", "weblink": "http://www.duckduckgo.com" }
];
$('#example').dataTable({
"data": responseObj,
"columns": [
{ "data": "information" },
{
"data": "weblink",
"render": function(data, type, row, meta){
if(type === 'display'){
data = '<a href="' + data + '">' + data + '</a>';
}
return data;
}
}
]
});
我需要能够选择数据并将其转到我的链接。这是我当前的代码。
$(document).ready( function () {
var dataTable=$('#example').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
url:"fetch.php",
type:"post"
}
});
} );
</script
在我的 fetch.php 我有这个。
$request = $_REQUEST;
$col = array (
1 => 'Dog_Name',
0 => 'Dog_Number',
2 => 'Breed',
3 => 'Sex'
);
$sql ="SELECT * FROM dog_profiles";
$query=mysqli_query($conn,$sql);
$totalData=mysqli_num_rows($query);
$totalFilter=$totalData;
//Search
$sql =("SELECT * FROM dog_profiles");
if(!empty($request['search']['value'])){
$sql.=" WHERE (Dog_Number Like '".$request['search']['value']."%' ";
$sql.=" OR Dog_Name Like '".$request['search']['value']."%' ";
$sql.=" OR Breed Like '".$request['search']['value']."%' ";
$sql.=" OR Sex Like '".$request['search']['value']."%' )";
}
$query=mysqli_query($conn,$sql);
$totalData=mysqli_num_rows($query);
//Order
$sql.=" ORDER BY ".$col[$request['order'][0]['column']]." ".$request['order'][0]['dir']." LIMIT ".
$request['start']." ,".$request['length']." ";
$query=mysqli_query($conn,$sql);
$data = array();
while($row=mysqli_fetch_array($query)){
$subdata=array();
$subdata[]=$row[0]; //dog number
$subdata[]=$row[1]; //name
$subdata[]=$row[2]; //breed
$subdata[]=$row[3]; //sex
$data[]=$subdata;
}
$json_data=array(
"draw" => intval($request['draw']),
"recordsTotal" => intval($totalData),
"recordsFiltered" => intval($totalFilter),
"data" => $data
);
echo json_encode($json_data);
任何见解都会有所帮助我对使用数据表很陌生。
解决方案
我认为您需要在 while 循环中更新代码。
试试下面的代码,
while($row=mysqli_fetch_array($query)){
$subdata=array();
$subdata[]=$row[0]; //dog number
$subdata[]="<a href='".$row[1]."'>".$row[1]."</a>";
$subdata[]=$row[2]; //breed
$subdata[]=$row[3]; //sex
$data[]=$subdata;
}
推荐阅读
- php - PHP 或 mysqli 可以捕获等效的 mysql 控制台响应吗?
- java - Cassandra 占用大量 CPU
- python - 为非互斥范围添加求解器约束
- javascript - PHP 代码执行成功后执行 Javascript Fetch() 请求
- django - Django 频道 Daphne uvicorn
- python - pyodbc 无法连接到 MSSQL
- ubuntu - 以低延迟将屏幕截图直播到前端网站
- node.js - 我应该在 dockerized nodejs 应用程序中在哪里设置安全标头?
- vb.net - 使用 KBCsv 加载数据表的转换错误
- express - Sequlize Query 获取最后一个附加值