Postingan lainnya
bagaimana membedakan respon FALSE dengan 0 ?
hay gan , saya menggunakan ajax untuk menghapus data. jika query berhasil akan melempar nilai yang dinamis untuk di gunakan . jika query gagal nilainya false . tapi di jquery false terbaca sebagai angka 0. dan query yang berhasil mengolah data juga hasilnya memungkinkan untuk mengeluarkan angka 0. jadi si script ajaknya bingung . padahal query berhasil di olah tapi responya gagal menghapus karna query menghasilkan angka 0. mohon pencerahanya . thanks
![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/tanya koding 1.png)
5 Jawaban:
kasus bagus.. coba diujinya pake sama dengan tiga kali, untuk menguji tipe data juga
if($hasilBackend === false) { //berarti false }
//atau sebaliknya
if($hasilBackend === 0) { //berarti angka 0 }
alternatif lain pake fungsi gettype untuk ngecek tipedata http://php.net/manual/en/function.gettype.php
*dikabarin ya mana yang berfugnsi, biar yang lain belajar
Pake ini gan . ane ganti jadi !false kalo qury ga berjalan , coz ampir ga mungkin nilai total harga nilainya 1Rupiah. coz pake === belum jga bisa , atau ada yang salah sama kodingan ane hihihihihi...
ajaxnya
<script type="text/javascript">
$(document).ready(function() {
$('.hapus_matpel').click(function (){
var hapus_matpel = $(this).attr('data-id');
$.ajax({
method : 'POST',
url : 'saved.matpel.secure',
data : { hapus_matpel : hapus_matpel },
success : function(data){
if (data == !false ){
alert ('Gagal menghapus,cek koneksi atau Silakan hubungi admin');
}
else
{
$('#'+hapus_matpel).remove();
$('#total_inv').html(data+' IDR');
alert (data);
}
}
});
});
});
</script>
php backendnya nya
$delete_matpel_tokeranjang_query = mysql_query("DELETE FROM keranjang_matpel WHERE keranjang_matpel_kodematpel = '$hapus_matpel'
AND keranjang_matpel_npm = '$siswa_npm' ");
if ($delete_matpel_tokeranjang_query){
$link=koneksi_db();
$siswa_npm = $_SESSION['siswa_npm'];
$total_invoice_query = mysql_query ("SELECT SUM(matpel_price) AS total_invoice FROM mata_pelajaran
JOIN keranjang_matpel ON mata_pelajaran.matpel_kode keranjang_matpel.keranjang_matpel_kodematpel WHERE keranjang_matpel_npm = '$siswa_npm' ");
$total2 =mysql_fetch_assoc($total_invoice_query);
echo $total2[total_invoice];
}else{ echo !false ; }
sejauh ini bwerjalan , tapi bakal ada kendala kalo ada jumlah harga yang totalnya 1 Perak rupiah :D
Nah bagus udah tahu kasusnya kapan bisa error, ngga boleh dibiarkan tapi hehe. Udah coba cara yang kedua? Cek tipedatanya apakah dia boolean atau number.
Ada ide lagi, coba dibackendnya kalo emang error, langsung return text aja "error" nah frontend tinggal ngecek juga apakah "error" atau bukan
return text 'error' cara pertama yang saya gunakan gan hilmman, tapi kayanya saya ada salah koding. karna walau si back end return 'error' tetep ngejalanin kondisi else and ngumpetin baris matkul(jquery remove) yang di hapus padahal query ga berhasil ngapus data (query sengaja di salahin buat ngecek front end ngejalanin perintah salah).
![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/tamya 2.png)![](https://skspace.sgp1.digitaloceanspaces.com/forums/images/error tamya 3.png)