Menghapus baris mySQL yang ganda

Di SMS Kampanye ada banyak sekali SMS Keluar yang tujuan dan isinya sama, hal ini tejadi karena pengirim SMS mengirim SMS REG berkali2, ada yang sampai 30 SMS, dan otomatis akan dijawab dengan 30 SMS yg isinya sama semua. Seharusnya sih dibuat algoritma skrip yg kalau sudah ada SMS yg sama maka tidak akan dikirim.

Tapi karena sudah terlanjur saya buat kode php utk menghapus record yg dobel, ini jg berguna utk data lainnya.

alurnya, saya buat kode utk mengambil semua record smsserver_out yg belum dikirim (status U atau Q), lalu saya buat skrip utk menghapus semua SMS keluar yg nomor dan teksnya sama dengan yg sekarang dan ID yg lebih tinggi dari sekarang.

Dengan skrip sederhana ini semua baris yg dobel akan dihapus semua.

-------------

$sql="select id,recipient,text from smsserver_out where status='Q' or status ='U' order by id ";
$data=mysql_query($sql);
while($row=mysql_fetch_array($data)){

$id=stripslashes($row["id"]);
$recipient=stripslashes($row["recipient"]);
$text=$row["text"];

$sql2 = "delete from smsserver_out where recipient = '$recipient' and text = '$text' and id > '$id' and (status='Q' or status ='U' ) ";
$data2=mysql_query($sql2);


}
?>

Komentar

  1. oke bos, langkah ini dapat dilakukan jika data nya sedikit, tapi kalau datanya suda ribuan bisa brabe thu webservernya,..heee,..hee

    BalasHapus
  2. kalo data puluan / ratusan ribu, sebaiknya delete dari kode sql, bisa tapi saya lupa dimana linknya.

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

script untuk menarik data dari alat finger print