v2.5.2
Giriş yap

Datatable Mysql Tablo Select and List

aydinkeskin
504 defa görüntülendi

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.

sefaaydin
705 gün önce

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.
        
    }