Selamlar,
Benzer bir sıkıntı yaşamıştım direk kod bloğunu paylaşıyorum.
$table = '(SELECT p.productID, p.productName, p.stockCode, p.price1, p.stockCount, p.productStatus, p.categoryID, m.menu_key, GROUP_CONCAT(i.imageURL) as `Images` FROM tbl_products p LEFT JOIN tbl_primages i ON p.stockCode = i.stockCode LEFT JOIN tbl_menu m ON m.id = p.categoryID GROUP BY i.stockCode) as temp';
$primaryKey = 'productID';
$columns = array(
array( 'db' => 'productID', 'dt' => 0 ),
array( 'db' => 'productName', 'dt' => 2, 'formatter' => function( $d, $row ) {
return '<b>' . $d . '</b>';
}),
array( 'db' => 'stockCode', 'dt' => 3 ),
array( 'db' => 'categoryID', 'dt' => 4, 'formatter' => function( $d, $row ) {
$caTree = findCategoryTree($d);
if($caTree != null) {
if($caTree["pcategoryId"] == $d)
{
$caTree = flang($caTree["categoryKey"]);
}
else {
$caTree = $caTree["fullPath"];
}
}else
{
$caTree = flang($caTree["categoryKey"]);
}
return $caTree != null ? $caTree : "Kategorisiz";
} ),
array( 'db' => 'price1', 'dt' => 5),
array( 'db' => 'stockCount', 'dt' => 6 ),
array( 'db' => 'productStatus', 'dt' => 7, 'formatter' => function( $d, $row ) {
return $d == '1' ? '<span class="badge badge-success">' . language('active') . '</span>' : '<span class="badge badge-warning">' . language('passive') . '</span>';} ),
array( 'db' => 'productID', 'dt' => 8, 'formatter' => function( $d, $row ) {
return '<a href="'. admin_site_url('product-details?productId='). $d .'"
class="btn btn-secondary btn-sm waves-effect waves-light">
<i class="fas fa-edit"></i>
</a>
<button type="button"
class="btn btn-danger waves-effect waves-light btn-sm"
onclick="TriggerDelModal('. $d .')">
<i class="fas fa-trash"></i>
</button>';
} ),
array( 'db' => 'Images', 'dt' => 1, 'formatter' => function( $d, $row ) {
$ret = '';
if(strlen($d) > 0)
{
$imgArr = explode(',',$d);
foreach($imgArr as $img)
{
$ret .= '<img style="width: 50px; height: 50px" src="'. upload_url('products/'). $img .'">';
}
}
return $ret;
})
);
//
global $config;
$sql_details = array(
'user' => $config['db']['user'],
'pass' => $config['db']['pass'],
'db' => $config['db']['name'],
'host' => $config['db']['host']
);
$sspClass = __DIR__ . '/../classes/ssp.class.php';
require $sspClass;
$retData = SSP::simple($_GET,$sql_details, $table, $primaryKey, $columns);
echo json_encode($retData);Bunun dışında datatables ile ilgili UTF-8 problemi yaşamıştım onunda önlemini baştan almanı öneririm.
SQL_Connect'e UTF8 charseti eklemezsen türkçe karakterle ilgili hatalar veriyor SSP dolayısıyla Datatables.
static function sql_connect ( $sql_details )
{
try {
$db = @new PDO(
"mysql:host={$sql_details['host']};charset=UTF8;dbname={$sql_details['db']}",
$sql_details['user'],
$sql_details['pass'],
array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION )
);
}