Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> usuniecie maili onetu z bazy
1q2w3e4r
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


Potrzebuję efektywnego rozwiązania, które będzie szybko działać na dużej ilości danych.
Mam np. bazę maili, z której potrzebuje:
1. wydobyć maile onetu we wszystkich domenach
2. przefiltrowanie tej bazy aby nie zawierała maili z onetu
Tablica:
  1. $maile_onet = array('onet.pl', 'op.pl', 'poczta.onet.pl', 'onet.eu', 'onet.com.pl', 'vp.pl', 'spoko.pl', 'vip.onet.pl', 'autograf.pl', 'opoczta.pl', 'buziaczek.pl', 'adres.pl', 'amorki.pl', 'poczta.onet.eu');

Można to zrobić za pomocą strpos() ale wydaje mi się, że nie jest to wydajne.
  1. $result = mysql_query("SELECT email FROM maile");
  2. while($r = mysql_fetch_array($result))
  3. {
  4. foreach($maile_onet as $kay=>$wartosc)
  5. {
  6. $pos = strpos($r['email'], $wartosc);
  7. if ($pos !== false)
  8. {
  9. echo $r['email'].'<br />';
  10. }
  11. }
  12. }


Proszę o jakiś lepszy przykład tych dwóch moich problemów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
1q2w3e4r
post
Post #2





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


Próbowałem tez tak, żeby było od razu na bazie:
  1. $maile_onet = array('onet.pl', 'op.pl', 'poczta.onet.pl', 'onet.eu', 'onet.com.pl', 'vp.pl', 'spoko.pl', 'vip.onet.pl', 'autograf.pl', 'opoczta.pl', 'buziaczek.pl', 'adres.pl', 'amorki.pl', 'poczta.onet.eu');
  2.  
  3. $query = "SELECT * FROM maile WHERE ";
  4. $a = 0;
  5. foreach($maile_onet as $kay=>$wartosc)
  6. {
  7. if($a == 0)
  8. {
  9. $query .= "email NOT LIKE '%@$wartosc'";
  10. }
  11. else
  12. {
  13. $query .= " OR email NOT LIKE '%@$wartosc'";
  14. }
  15. $a++;
  16. }
  17. //echo $query;
  18.  
  19. $result = mysql_query($query);
  20. while($r = mysql_fetch_array($result))
  21. {
  22. $mails = $r['email'];
  23. echo $mails.'<br />';
  24. }


Aby wykluczyć z listy wszystkie maile z onetu i dalej się pojawiają. Dlaczego?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 00:25