Benim ilk CI uygulaması (ve şimdiye kadar sadece ikinci PHP uygulaması) bir bildiri yazmak için nasıl anlamaya çalışıyorum ve ben şaşırıp.
Ben kendi tablolardan book_id ve user_id tutan bir kavşak tablo var. Ben bir kitap okumak ve bu geri yankı kim öğrenmek istiyorum, ama mantıklı biçimlendirme gerekir. İşte sorgu:
$readQuery = $this->db->get_where('books_users', array('book_id' => $isbn));
Ve burada bir kişi için benim mantık
// Get my user info
$user = $this->ion_auth->get_user();
// Tell me who has read it.
$this->db->select('user_id');
$readQuery = $this->db->get_where('books_users', array('book_id' => $isbn));
// If only one person has read it
if ($readQuery->num_rows() == 1) {
$readResult = $readQuery->row();
// And if that person was me...
if ($readResult->user_id == $user->id) {
$message = 'You have read this.';
// If it was someone else...
} else {
$reader = $this->ion_auth->get_user($readResult->user_id);
$message = "$reader->first_name $reader->last_name has read this";
}
// If two people have read it
}
Sadece bir kişi okumak varsa Yani ben iyiyim. Iki kişi okudum ama ne zaman, ben bunu söylemek istiyorum "Adı One ve Adı Two bu okudum." kişi açmış eğer okumamış. Bu iki kişiden biri iseniz, "Siz ve Adı Two bu okudum" demeliyim.
Ve böylece 3-5 için. 3-5 kişi bunu okudum, seçenekler "Adı One, Adı Two ve Ad Üç bu okudum" olacaktır veya "Sen, İki Adı ve Ad Üç bu okudum." kadar beş kişi
Bu 6 ya da daha fazla ise ve bu sadece ikisinin isimlerini söylemek gerekir, IE "Sen, iki ad ve 5 diğer kişi bu okudum."
Ben her örneği için bir koşullu yaptığını kabul ve ardından bir dizi kullanıcıların tüm bastırıyor. Sonra oturum açmış kullanıcı okumak ve rapor çalışırsanız görmek için () in_array'in kullanabilirsiniz, ama ben sadece mantığını çalışan bazı sorun yaşıyorum.
Daha kolay bir yolu var mı?
Thanks much in advance, Marcus