İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Mysql'den boş alan barındıran kayıtların silinmesi

qwerty

0
İyinet Üyesi
Katılım
11 Şubat 2005
Mesajlar
170
Reaction score
0
Haber botu ile çektiğim haberleri, haber99 tablosuna yazdırıyorum. Bu tabloda spot başlıklı bir alan var. Bu alan zaman zaman boş geliyor. Dolayısıyla
boş bir alan barındıran bu kayıtları tamamen silmek istiyorum.

Aşağıdakileri denedim sonuç alamadım.

$sil=mysql_query("DELETE from haber99 where spot=' ' ");
$sil=mysql_query("DELETE from haber99 where spot='' ");
$sil=mysql_query("DELETE from haber99 where spot=Empty);
$sil=mysql_query("DELETE from haber99 where spot Empty);
$sil=mysql_query("DELETE from haber99 where spot is Empty);
$sil=mysql_query("DELETE from haber99 where spot=lisanssız);
$sil=mysql_query("DELETE from haber99 where spot=is lisanssız);
$sil=mysql_query("DELETE from haber99 where spot is lisanssız);

En son olarak,

$sorgu = mysql_fetch_array(mysql_query("SELECT * FROM haber99"));

$spot = $sorgu["spot"];

$say=strlen($spot);

$id = $sorgu["id"];

echo "Karakter Adedi : ".$say."<br><br>";
echo "ID : ".$id."<br><br>";

ile boş gözüken spot alanında 1 karakter olduğunu saydı. Spot alanında 1 karakter olan kayıtlarını aşağıdaki döngü ile silmesini istedim.

if($say=1) { $sil=mysql_query("DELETE from haber99 where id='$id' ")}

karakteri 1 olan kaydı da 1 den fazla olan ve silinmesini istemediğim kayıtları da sildi.

Yardımcı olabilirseniz sevinirim.

Saygılarımla,

Sorunu Kendim Çözdüm.

Doğru kod aşağıda.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
include("baglanti.php");
mysql_query("SET NAMES UTF8");
@session_start();
if (isset($_SESSION['durum']))
{

echo "Hos geldiniz, <b>".$_SESSION['user']."<br><br>";
$sorgu = mysql_query("SELECT * FROM haber99");
while($goster1=mysql_fetch_array($sorgu))
{
$ad="<p></p>";
$yenisi="";
$ad1="<p>";
$yenisi1="";
$ad2="</p>";
$yenisi2="";
$ad3=" ";
$yenisi3="";
$detay = $goster1["detay"];
$detay1 = trim($detay);
$spot= $goster1["spot"];
$veri = strlen($detay);
$veri2 = strlen($spot);
$kategori = $goster1["kategori"];
$baslik = $goster1["baslik"];
$kelimeler = $goster1["keywords"];
$id = $goster1["id"];

extract($goster1);

if(isset($baslik))

{
echo "Kategori: {$kategori} <br> Başlık : {$baslik} <br> id : {$id}<br>spottaki veriyi say : {$veri2}<br>Detaytaki veriyi say : {$veri}<br><br>";
}
$guncelle=mysql_query("UPDATE haber99 set detay=replace(detay,'$ad','$yenisi')");
$guncelle=mysql_query("UPDATE haber99 set detay=replace(detay,'$ad1','$yenisi1')");
$guncelle=mysql_query("UPDATE haber99 set detay=replace(detay,'$ad2','$yenisi2')");
$guncelle=mysql_query("UPDATE haber99 set detay=replace(detay,'$ad3','$yenisi3')");
if ($veri2==1)
{
$guncelle=mysql_query("UPDATE haber99 set spot=replace(spot,'$detay','***')");
}
}

$sil=mysql_query("DELETE from haber99 where spot='***'");

if ($sil)
{
echo "SİLME İŞLEMİ BAŞARILI !"."<br>";
}
else
{
echo "SİLME İŞLEMİ BAŞARISIZ !!!"."<br>";
}
}
else
{
echo "Bu sayfayı görüntüleme yetkiniz yoktur.<br><br>";
echo "<a href=giris.php>Giriş sayfasına Git</a>";
}
?>
 

wallstreet

0
İyinet Üyesi
Katılım
29 Ağustos 2014
Mesajlar
2
Reaction score
0
o işlemi o şekilde değil de
şu sql kodu işinizi görecektir boş satırları silmek için

DELETE FROM tablo_adi
WHERE alan_adi IS NOT lisanssız

kolay gelsin
 

Mashadow

0
İyinet Üyesi
Katılım
23 Ağustos 2014
Mesajlar
24
Reaction score
0
Konum
Tekirdağ
o işlemi o şekilde değil de
şu sql kodu işinizi görecektir boş satırları silmek için

DELETE FROM tablo_adi
WHERE alan_adi IS NOT lisanssız

kolay gelsin

Merhaba

Yazdığınız kod alan_adi boş olmayan satırları silecektir. Boş olanları silmek için

Kod:
DELETE FROM tablo_adi
WHERE alan_adi IS lisanssız

Ayrıca bu sorgunun etkili olabilmesi için alan_adi sütunun lisanssızABLE olarak ayarlı olması gerekmektedir. Eğer değilse yani zorunlu bir alan ise, siz değer girmediğinizde mysql içine default value atayabilir, bu sizin belirlediğiniz birşey veya boş string "" olabilir. Dolasıyla lisanssızable bir sütun değilse IS lisanssız çalışmayacaktır.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst