PLATFORM:
PHP, MySQL & jQuery
WHAT I HAVE:
Ben bir veritabanı tablo var. Benim uygulama içinde, ben tüm satırlarını mümkün duyuyorum. Ben veritabanı sorgulama olduğum zaman, ben kayıtları 30 olarak sınır getirme ayarlamış, ama bu bir açılan liste ile değiştirilebilir. Yani tek bir sorguda veri 30 satır kadar getiriliyor ve onları görüntüleyen olduğumu düşünün. Ben tablo (satırlar) bu verileri doldurmamak duyuyorum. Ben gelecek her kayıtla ve bir Sil düğmesine onay kutusu var. Sil butonu tıklandığında, kontrol edilir, tüm satırlar, silinmiş olacaktır.
WHAT I AM TRYING TO DO:
Satır getirme limiti karşılanmaktadır kadar silerim her satır için, ben, satır bir sonraki seti ile geçerli görünümü güncelleştirmek çalışıyorum. Kafa karıştırıcı? İşte bir örnek:
EXAMPLE:
Benim masada ve o I 1000 satır düşünün Ben kayıtlar 30 kayıtları kadar bir defada gösterilecek anlamına gelir, 30 olarak sınırı getirme belirledik. Ben diğer kayıtların gezinmek için sayfalamayı kullanabilirsiniz. Şimdi benim görüşüme göre, ben tablodaki verilerin 30 satır var. Ben 5 satır seçilir ve jQuery ile bunları silindi. Silindikten sonra, ben görünümünden silinen satırları kaldırmak mümkün duyuyorum. Ben 5 satır silinir beri Yani bu durumda, ben bunları kaldırmak mümkün ve şimdi benim görüşüm bana (doğru) sadece 25 satır gösterir. Ben bir rekor 30 sınırı getirme gibi orada benim tabloda hala kalan 995 satırlar ve yana, şimdi ben bu otomatik olarak önümüzdeki 5 kayıtları göstermek böyle bir şekilde çalışmak istiyorum. Ben mevcut girişleri yukarı taşımak istiyorsanız ve yeni girişler alt doldurmak için.
Diğer bir deyişle, sürece yeterli satırlar var gibi, birçok silinen gibi, kayıtların aynı sayıda benim görünümü doldurmak istiyorum. Ben 10 kayıtları silerseniz Yani, önümüzdeki 10 kayıtları alındı ve görüntülenen veri 30 satır toplam sayısı, yapım yine otomatik olarak görüntülenmesini istiyorum. 20 kayıtlar silinirse, o zaman önümüzdeki 20 kayıtları alındı ve (yine görüntülendiğini, bu veri 30 satır toplam sayısı yapmadan) otomatik olarak görüntülenmesini istiyorum. Ben görsel yeni satırlar yer aldı unutmayın böylece, ona bağlı bir etkisi ile bunu yapmak istiyorum. Belki slideUp veya fadein + slideUp etkisi uygulanabilir? Ben mantıklı umuyoruz.
WHAT I NEED:
Ben PHP & jQuery code Yukarıdaki etkisi / işlevselliği elde etmek gerekiyor. Şimdiden teşekkürler.
İşte benim jQuery code (eğer yardımcı olur) bir parçasıdır:
$('#button_delete').click(function() {
$.ajax({
type: 'POST',
cache: false,
url: 'test.php',
data: $('#form1').serialize(),
dataType: 'json',
success: function(data) {
if(data.success === 1)
{
$.each(data.id, function (index, value) {
$('#'+value).remove();
});
jQuery.each(data.new_rows_data, function(i, val)
{
jQuery.each(val, function(i, new_val)
{
$('#table').append('<tr id='+new_val+'>'+
'<td></td>'+
'<td></td>'+
'<td>'+new_val+'</td>'+
'</tr>');
});
});
}
}
})
return false;
});
PHP code:
<?php
$from = 0;
$limit = 30;
$result = mysql_query( "SELECT * FROM mytable ORDER BY m_id ASC LIMIT $from, $limit" );
?>
<table>
<tr>
<td>ID</td>
<td>Content</td>
</tr>
<?php
while( $rows = mysql_fetch_array($result) )
{
?>
<tr id=<?php echo $rows['m_id']; ?>>
<td><?php echo $rows['m_id']; ?></td>
<td><?php echo $rows['content']; ?></td>
</tr>
<?php
}
?>
</table>
test.php
//test.php
<?php
$id = $_POST['id'];
if( is_array( $id ) )
{
$arr_size = sizeof( $id );
foreach ( $id as $value )
{
$sql = "DELETE FROM mytable WHERE id = ".(int)$value." LIMIT 1";
$result = mysql_query($sql);
}
if( $result )
{
$success = 1;
$message = 'Deleted';
}
else
{
$success = 0;
$message = 'Unable to DELETE FROM DB.';
}
}
$last_id = 500;
for($i=1; $i <= $arr_size; $i++)
{
$new_value = ($last_id + $i);
$new_rows[] .= $new_value;
$res = mysql_query("SELECT id, message, date
FROM mytable WHERE id = ".(int)$new_value." "); //LIMIT 1
$row = mysql_fetch_array($res);
$new_rows_data['row']['id'] .= $row['id'];
$new_rows_data['row']['message'] .= $row['message'];
$new_rows_data['row']['date'] .= $row['date'];
}
print json_encode(array('success' => $success, 'message' => $message, 'id' => $id, 'new_rows' => $new_rows,
'new_rows_data' => $new_rows_data));
?>