Merhaba arkadaşlar. Ben kullanıcıların yüklediklerı id lerine göre toplamaya çalışıyorum fakat pek başarılı olduğum söylenemez. Bu konuda şöyle bir kod yazdım.

<?php 
$query = mysql_query("SELECT users.uid,users.username,user_uploads.uid_fk,user_uploads.id,user_uploads.image_path COUNT(user_uploads.uid_fk) FROM users JOIN user_uploads ON users.uid = user_uploads.uid_fk WHERE username='$username'") or die(mysql_error());
$sum = mysql_fetch_array($query);
                               echo $sum[0];  
?>

fakat bu yazdığım kod çalışımıyor.

Çalışmasını istediğim bu kodu biraz açıklayayım. Kullanıcı bir fotoğraf yüklediğinde kendi profilinde kaçtane fotoğraf yüklediğini yazdıracak ekrana. yani user_uploads tablosundaki uid_fk kullanıcı uid oluyor ve toplamı bu uid ye bakarak ekrana yazdırmaya çalışıyorum. Bana yardım edebilirmisiniz.

Tablolardaki bana lazım olan kısımlar şu şekilde.

users tablosunda

uid
username

user_uploads tablasounda

uid_fk

soruldu: 27 Haz '14, 12:54

Cosmos's gravatar image

Cosmos
3016714
cevap kabul oranı: 100%

değiştirildi: 27 Haz '14, 14:25


@Gece_Bekcisi arkadaşa teşekkür ediyorum. Kendisinin söylediği yöntem ile yapmaya çalıştım fakat anladım ki GROUM BY deyimi tüm sütunlar üzerinde uygulanıyor. Ben kullanıcının id sine göre toplamı yapmak istiyodum sanırım sorumu yanlış anlamış olacak ki cevabı birazcık eksik verdi.

İleride başınıza böyle bir sorun gelir diye burada sizinle sorunun çözümünü paylaşıyorum.

SELECT
  users.uid,
  users.username,
  user_uploads.id,
  user_uploads.image_path,
  user_image_count
FROM
  users
  INNER JOIN user_uploads ON users.uid = user_uploads.uid_fk
  /* Bir alt sorgu daha ekliyoruz */
  INNER JOIN (
    SELECT uid_fk, COUNT(*) AS user_image_count FROM user_uploads GROUP BY uid_fk
  ) upload_counts ON users.uid = upload_counts.uid_fk

Burada çıktıyı :

$count_image = mysql_fetch_array($query);
echo $count_image['user_image_count'];

bu şekilde sağlıyoruz.

permanent link

cevaplandı: 27 Haz '14, 18:21

Cosmos's gravatar image

Cosmos
3016714
cevap kabul oranı: 100%

ilk olarak buraya bir virgul eklememişsin. user_uploads.image_path COUNT(user_uploads.uid_fk)

ikinci olarakda count la bir sey saydırmak istiyorsan bir group by ihtiyacın var. yani örnek verecek olusam

select uid, count(uid_fk) from x-tablosu group by uid where ıvır zıvır :)

yani ilk tablondakı user idleri tek olarak kabul edip ikinci tablondaki user id fk ların sayısını sana veren bir kod yazmıs oluyoruz. sen aradaki tablo birleştirme olayını yaparsın ve ekranda görünmesini istediğin şeyleride group by ya yazmalısın umarım faydalı olmuşumdur.

permanent link

cevaplandı: 27 Haz '14, 13:04

gece_bekcisi's gravatar image

gece_bekcisi
266192228
cevap kabul oranı: 0%

Kodlarda biraz daha yardımcı olsaydın iyiydi

(27 Haz '14, 13:11) Cosmos Cosmos's gravatar image

select users.uid,users.username,COUNT(user_uploads.uid_fk)FROM users JOIN user_uploads ON users.uid = user_uploads.uid_fk group by users.uid,users.username WHERE username='$username'

ekranda soyle bır goruntun olur ama sen dene sonucu kendın gor uid users.username count 1 asdas 10

gıbı bır sonu verıcek sana ama sen dene tam olarak tablo yapını bılmıyorum olmadı googledan group by arastır. cozumun orada

(27 Haz '14, 13:17) gece_bekcisi gece_bekcisi's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×168
×144

Soruldu: 27 Haz '14, 12:54

Görüntüleme: 658 kez

Son güncelleme: 27 Haz '14, 18:21

powered by BitNami OSQA