lostyazilim
tr.link

Uzman Sorusu: SQL verisini PHP ile kodlamak

8 Mesajlar 888 Okunma
acebozum
tr.link

idea idea WM Aracı Kullanıcı
  • Üyelik 27.04.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad M** S**
  • Mesajlar 448
  • Beğeniler 165 / 44
  • Ticaret 4, (%75)
Merhaba arkadaşlar,

Uzun zamandır PHP yazmadığım için birçok şeyi unuttum.

İşlemlerimi veritabanı üzerinde yapıyorum.

Aşağıda veritabanı üzerinde yaptığım işlemleri PHP ile yapmak istiyorum:

SELECT COUNT( * ) AS sayi, ip
FROM ziyaretci
WHERE zaman LIKE '%2016-12-10%'
GROUP BY ip
ORDER BY sayi DESC


Yukarıdaki bu SQL kodu LIKE'ta yazan tarihte o günü baz alıyor. ip sütunu ip'leri listeliyor. sayi sütunu da o ip'nin kaç kez kayıtlı olduğu gösteriyor.

1) Yapmak istediğim şu:

LIKE yazan yere manuel tarih girişi değil de

$bugun = date("Y-m-d");

ifadesindeki $bugun değişkenini eklemek. Yani güncel olarak bugün tarihini eklemek kısaca işi otomatikleştirmek. kısacası yukarıdaki SQL sorgusunu PHP'ye döküp $bugun değişkenini ekleyemedim.

2) Yapmak istediğim şu:

sayi sütunu ip'nin kaç kez veritabanında kayıtlı olduğunu sıralıyor. eğer aynı ip vertabanında 2'den fazla ise echo ile "127.0.0.1 ip adresi 3 kez kayıtlı" olarak ekrana yazdırmak.

Vakit ayıran herkese teşekkürler. Kodlayan arkadaş olursa da alnından öpüyorum. Helal olsun. Hayırlı kandiller.
 

 

wmaraci
reklam

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 689
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
$bugun='%'.date('Y-m-d').'%';

Sorgu -> "select ..... ..... zaman LIKE '$bugun' ....";

Mobilim. Ama bu yapinin calismasi lazim.
 

 

idea idea WM Aracı Kullanıcı
  • Üyelik 27.04.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad M** S**
  • Mesajlar 448
  • Beğeniler 165 / 44
  • Ticaret 4, (%75)
Hocam bunun çalıştığını görebilmek için 2. Maddenin yapılması gerekiyor. İşi Php ye dökemedim yani.
 

 

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 689
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)

$Bugun = '%'.date('Y-m-d').'%';
$Sorgu = mysql_query("SELECT COUNT( * ) AS sayi, ip FROM ziyaretci WHERE zaman LIKE '$Bugun' GROUP BY ip ORDER BY sayi DESC");

while($X = mysql_fetch_array($Sorgu)){
if($X[0] > 2) echo $X[1].' ip adresi '.$X[0].' kez kayıtlı.';
}
 

 

wmaraci
wmaraci

idea idea WM Aracı Kullanıcı
  • Üyelik 27.04.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad M** S**
  • Mesajlar 448
  • Beğeniler 165 / 44
  • Ticaret 4, (%75)
mysqli kullanıyorum. herhangi bir sonuç çıkmadı. $Bugun değişkenine dünün tarihini de manuel ekledim test için. yine beyaz sayfa. kullandığım kod:

$Bugun = '%'.date('Y-m-d').'%';
$Sorgu = mysqli_query($veritabani, "SELECT COUNT( * ) AS sayi, ip FROM ziyaretci WHERE zaman LIKE '$Bugun' GROUP BY ip ORDER BY sayi DESC");

while($X = mysqli_fetch_assoc($Sorgu)){
if($X[0] > 2) echo $X[1].' ip adresi '.$X[0].' kez kayıtlı.';
}

?>
 

 

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 689
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
Assoc değil Array kullan

Eğer assoc kullanıcak isen, 0 gördüğün yere 'sayi' , 1 gördüğün yere 'ip' yazman lazım.
idea

kişi bu mesajı beğendi.

idea idea WM Aracı Kullanıcı
  • Üyelik 27.04.2011
  • Yaş/Cinsiyet 37 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad M** S**
  • Mesajlar 448
  • Beğeniler 165 / 44
  • Ticaret 4, (%75)
Helal olsun kardeşim. Tebrik ederim ve teşekkür ederim.
 

 

KadirCeyhan KadirCeyhan WM Aracı Kullanıcı
  • Üyelik 23.10.2016
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum Denizli
  • Ad Soyad K** C**
  • Mesajlar 689
  • Beğeniler 0 / 203
  • Ticaret 6, (%100)
Rica ederim. Kolay gelsin
MertKoseoglu

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al