У меня есть таблица, которая извлекает данные из моей базы данных и отображает их из таблицы базы данных. Я хочу добавить гиперссылки на имя собаки. Вся документация, которую я нашел, показывает, как сделать это со статическими данными, но не с динамическим примером ниже:
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);
Любое понимание было бы полезно, я довольно плохо знаком с использованием Datatables.
Я думаю, вам нужно обновить код в цикле 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;
}
Других решений пока нет …