Tamam - Ben noktasına düz alırsınız - burada söz PHP kodu:
<h2>Highest Rated:</h2>
<?php
// Our query base
$query = $this->db->query("SELECT * FROM code ORDER BY rating DESC");
foreach($query->result() as $row) {
?>
<h3><?php echo $row->title." ID: ";echo $row->id; ?></h3>
<p class="author"><?php $query2 = $this->db->query("SELECT email FROM users WHERE id = ".$row->author);
echo $query2->row('email');?></p>
<?php echo ($this->bbcode->Parse($row->code)); ?>
<?php } ?>
Biraz dağınık Üzgünüm, hala bir taslak. Her neyse, ben bir Ratings sistemi kullanmak yollarını araştırdı - Eğer oylaması DESC kod SİPARİŞ SELECT * görebileceğiniz gibi daha önce ben bir tek 'rating' alan vardı. Ancak hızlı bir şekilde bu gibi ortalamalar hesaplama mümkün değildi fark, bu yüzden beş yeni sütunlar yarattı - Değerlendirme1, rating2, Değerlendirme3, Değerlendirme4, Değerlendirme5. 5 kullanıcı şey reytinge Yani 4 yıldız, Değerlendirme4 5 diyor ... bu mantıklı mı? Her ratingx sütun oylaması verildi sayısını sayar.
Neyse: Bu SQL deyimi var:
SELECT id, (ifnull(rating1,0) + ifnull(rating2,0) + ifnull(rating3,0) + ifnull(rating4,0) + ifnull(rating5,0)) /
((rating1 IS NOT NULL) + (rating2 IS NOT NULL) + (rating3 IS NOT NULL) + (rating4 IS NOT NULL) + (rating5 IS NOT NULL)) AS average FROM code
Yine dağınık, ama hey. Şimdi ne bilmek gerekir nasıl benim komut dosyası içine SQL deyimini dahil edebilirsiniz nedir? İdeal genel sorgu '(that really long query i just stated) DESC kod SİPARİŞ SELECT *' düşünürdüm ama oldukça çalışma ... Ben bunu nasıl yaparım bunu göremiyor? Sorgu, bir değişken böyle bir şey sonucu depolamak?
Hiçbir anlamda dileriz yaparsa! Ama gerçekten yardım ederiz :)
Kriko