Datatable Mysql Tablo Select and List
datatable Dışında mysql tablolarını listeliyorum.
ordan seçtiğim tablonun atıyorum " sube "
içeriklerini listelemek istiyorum listeliyorumda
fakat söyle bir sorun çıkıyor bu sefer
bütün tabloların sıralama başlıkları aynı olmadığı için
<div class="col-md-6">
<section class="basic-select2">
<select class="select2 form-control" id='kategoriSira'>
<option value=''>-- Tabloya Göre Sırala--</option>
<?php
$kat= Func::Cop("SHOW TABLES");
$kat->execute();
$veri = $kat->fetchAll(PDO::FETCH_NUM);
foreach($veri as $row):
?>
<option value='<?php echo $row[0]; ?>'> <?php echo $row[0]; ?></option>
<?php endforeach; ?>
</select>
</section>
</div>
<div class="table-responsive">
<table id="copler-list" class="table table-striped table-bordered display" style="width: 100%">
<thead>
<tr>
<th>Adı</th>
<th>Adı</th>
<th>Adı</th>
<th>Adı</th>
<th>Adı</th>
<th>Adı</th>
<th>Adı</th>
</tr>
</thead>
</table>
</div>
şeklinde bu başlıklar altında listeliyorsam
bir başka tabloda listeleme farklı olması gerekiyor.
haliyle js taradında çekerken
var URI = window.location.origin;
var o = $("#copler-list").DataTable({
processing: true,
serverSide: true,
serverMethod: 'POST',
ajax: {
url: URI+"/CopData",
data: function(d){
var kategoriSec = $('#kategoriSira').val();
d.kategoriSira = kategoriSec;
},
},
columns: [
// {data: 'sil',},
{data: 'adi',orderable: true},
{data: "tel",orderable: true},
{data: "gsm",orderable: true},
{data: "fax",orderable: true},
{data: "mail",orderable: true},
{data: 'create_at',orderable: true},
{data: 'durum',orderable: true},
{data: 'islem', responsivePriority: -1, orderable: false}
],
language:{url:"//cdn.datatables.net/plug-ins/1.10.12/i18n/Turkish.json"},
columnDefs: [
{
targets: ['noshort'],
orderable: false
},
],
displayLength: 10,
lengthMenu: [
[5, 10, 15, 20, 50, 100],
['5 Adet' , '10 Adet' , '15 Adet' , '20 Adet', '50 Adet', '100 Adet']
],
}); // Datatable Bitiş
$('#kategoriSira').change(function(){
o.draw();
});
gibi çektimi için aynı anda hangi js yi yükleyecek onu anlamadım
birde html tarafında başlıkları var tabi
genel olarak fikir istediğim
listeden tabloyu seçtiğimde datatable içerisinde o listenin
belirlediğim başlıklara göre düzenli şekilde çekmesi
hepsini tek sayfada yapmak istediğim ve iframe ile sayfa değiştirmek
istemediğim için.
Ajax tarafında sana bir data diye alan bırakmıştım. Şöyle yapabilirsin. Basitçe anlatıyorum. Geliştirmesi sana kalmış :)
JS Tarafında Ajax altında data diye bir alan var. O alana istediğin parametreleri yazıyorsun. Örneğin page diye bir parametre gönderdim ben. PHP tarafını kontrol et detayı orada anlatacağım.
$('#transactionAjaxTable').DataTable({
'processing': true,
'serverSide': true,
'serverMethod': 'post',
'ajax': {
'url':'api-datatables.php',
'data': {
page: 'swap'
}
},
'columns': [
{ data: 'username' },
{ data: 'pid' },
{ data: 'fromTo' },
{ data: 'fromToAmount' },
{ data: 'fromToPrice' },
{ data: 'processTime' },
{ data: 'action' }
]
});
Php tarafında ise page parametresini $_POST yada $_GET hangisini kullanıyorsan onunla çekiyorsun. Böylece veritabanınıda sorgulama yaparken tablo adını veya kolon adı hangilerini istiyorsan ona göre parametreleri gönderip sorgulama yapabilirsin. Aşağıda örneğini oluşturdum.
<?php
include 'layouts/session.php';
// Datatables Ajax Data parameter
$page = $_POST['page'];
if($page == 'users') {
// Kodlar bu alana gelecek.
}