Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] unikalność rekordów
meehow18
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

Ostrzeżenie: (0%)
-----


Mam następującą strukturę tabel.
`mailing`
id|lista|id_mailing

`subskrybenci`
id_autorespondera|email

Użytkownik wypełnia formularz (check listę) i ile pól zaznaczy tyle zostanie dodanych rekordów do bazy mailing.

Np. dodaję sobie tabelę mailing, gdzie ma ona rekordy 3

id(autoinc)|lista|id_mailing|
1 | 2| 3 |
2 | 4 |5 |
3 | 8 |5 |

Następnie sprawdzana jest tabela subskrybenci, gdzie lista=id_autorespondera i zależy mi na zliczeniu unikalnej liczby rekordu email. Jeżeli e-mail występuje wielokrotnie dla wybranych id_autorespondera ma zostać policzony tylko 1 raz.

Z góry dziękuje za pomoc.

Ten post edytował meehow18 17.12.2011, 13:10:51
Go to the top of the page
+Quote Post
fragov
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 19.11.2011

Ostrzeżenie: (0%)
-----


http://www.w3schools.com/sql/sql_distinct.asp
Go to the top of the page
+Quote Post
meehow18
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

Ostrzeżenie: (0%)
-----


okey, distinct zadziała mi w takim przypadku:


a mi zależy aby jeszcze zadziałało w takim:


zapytanie do bazy

  1. function add_subskrybent($id_mailing,$ile,$max)
  2. {
  3.  
  4. foreach ( $this->crud_model->select('id_mailing',$id_mailing,'mailing') as $r)
  5. {
  6. $lista = $r->lista;
  7. $this->db->or_where('id_autorespondera',$r->lista );
  8. }
  9.  
  10. $this->db->select('email_zapisanego, id_autorespondera,status,id');
  11. $this->db->order_by("email_zapisanego", "asc");
  12. $this->db->distinct();
  13. $this->db->limit($ile,$max);
  14. $qw = $this->db->get_where('subskrybenci',array('status'=>1));
  15. return $qw->result();
  16.  
  17. }


Jakieś pomysły?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:15