![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, mam taki skrypt:
Da się to zapytanie jakoś zoptymalizować, aby nie wysyłać dla każdego numeru osobnego zapytania tylko za jednym razem np? -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 5 Dołączył: 30.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
SELECT * FROM ids WHERE number IN ('dane liczbowe'). W 'dane liczbowe' musisz wstawić odpowiedni "string" z numerami, dla których chcesz pobierać rekordy z bazy. Ten string przygotuj sobie rzeczywiście w pętli używając phpa, a potem przekaż do zapytania.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
zobacz coś takiego. -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Not work
![]()
Ten post edytował desavil 16.08.2011, 14:33:43 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Not work ![]() Gościu bo miękną mi kolana jak coś takiego czytam. Co nie działa ![]() ![]() ![]() -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Nie działa = nie działa
![]() Ani PhpMyAdmin nic nie zwraca, ani skrypt. Ten post edytował desavil 16.08.2011, 14:41:36 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 153 Pomógł: 41 Dołączył: 28.06.2011 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Wolałbym gotowca jeżeli to w miarę możliwe.
-------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 153 Pomógł: 41 Dołączył: 28.06.2011 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie działa, ani w skrypcie ani PMA nic nie zwraca.
Może opiszę działanie tego kodu, może źle zrozumieliście o co w nim chodzi. Skrypt ma wyświetlać liczby co dwa od podanego zakresu. I sprawdzać, czy w bazie danych ta liczba istnieje, czy też nie. Jeżeli istnieje liczba ta nie jest wyświetlana. -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 153 Pomógł: 41 Dołączył: 28.06.2011 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
To w takim razie pokaz Nam wycinek danych z tabeli gdzie kolumna number jest pomiedzy 100 a 199...
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Ehhh :/
Pętla generuje liczny co dwa: 2 4 6 8 10 Każdą z tych liczb sprawdzam w bazie danych, czy istnieje jeżeli istnieje to nie jest wyświetlana, czyli np. w bazie danych są liczby 4, 10 to skrypt wyświetli: 2 6 8 Chodzi o to, że w pętli do każdej liczby jest generowanie zapytanie, o sprawdzenie tej liczby. Jeżeli dam zakres liczb do sprawdzenia np. od 100000 do 800000, będzie generowana bardzo spora liczba zapytań do bazy. I chodzi mi o jakieś rozwiązanie tego, aby nie generować tylu zapytań. Może da się jakoś to przerobić i pobrać za pierwszym razem wszystkie numery ID, a później porównywać i ew. wyświetlać daną liczbę lub też nie. Ten post edytował desavil 16.08.2011, 15:33:24 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 153 Pomógł: 41 Dołączył: 28.06.2011 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Wykonujac takie zapytanie :
otrzymasz wszystkie liczby parzyste, z przedzialu pomiedzy $start i $stop, które znajdują się w tabeli `ids`. Wystarczy teraz zrobic petle w php od $start do $end,
i sprawdzic czy dla danego $i jest juz taka liczba w tabeli, jesli nie to rob1() jesli tak to rob2() . |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Wywołując zapytanie, nie trzeba sprawdzać, czy są parzyste. Wystarczy mi zapytanie.
'SELECT * FROM ids' I chodzi mi o to jak zrobić później to porównanie. Ten post edytował desavil 16.08.2011, 16:24:35 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 153 Pomógł: 41 Dołączył: 28.06.2011 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
A jak by zrobić coś takiego:
Pomoże ktoś ![]() Napisał by ktoś gotowca? Bardzo proszę, mocno mi jest to potrzebne, a nie umiem sam tego napisać. Umie ktoś napisać/przerobić mi ten skrypt? Ten post edytował desavil 16.08.2011, 16:26:52 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Proszę bardzo:
Jednym zapytaniem zwracasz to, co Cię interesuje. U mnie testowałem na tabeli news i kolumnie id (news.id) - zmień to pod siebie. Ok, jak to działa. Te linie z t1, t2, t3, t4 generują Ci sekwencję liczb od 1 do 1000. Dodając analogiczną linię t5 otrzymasz liczby od 1 do 10000. Następnie robisz złączenie z tabelą, o którą Ci chodzi (news) z warunkiem news.id = row czyli id newsa musi odpowiadać aktualnej wartości row. Dalej: interesują nas tylko wartości row z przedziału od 1 do 20 (wstaw swój zakres) oraz takie dane, gdzie news.id jest NULLem, czyli po prostu nie ma rekordu w tabeli newsów. PS: ten warunek przeskoku co 2 wartości dorób sobie sam ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
To jest chyba najgorsze rozwiązanie jakie może być.
Dlaczego nie chce nikt dokończyć tego kodu, który ja zaproponowałem. Jak ja będę generował liczby od 1 do 1000000 to chyba nie będę do zapytania dodawał tych całych UNION itp... -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
To jest chyba najgorsze rozwiązanie jakie może być. Chyba się mylisz. Jak ja będę generował liczby od 1 do 1000000 to chyba nie będę do zapytania dodawał tych całych UNION itp... No tak, lepiej wysłać te 1000000 zapytań do bazy danych. Gratulacje pomysłowości. A co do UNION: je możesz wygenerować automatycznie pętlą... |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego?
Przecież chodzi mi cały czas o to, aby pobrać WSZYSTKIE rekordy z bazy o SELECT np. id i umieścić je w tablicy. Później wygenerować liczby i każdą z tych liczb porównywać z tablicą. @edit Podpowie ktoś jeszcze jak wyświetlić to co dwa/parzyste? Wiem, że w zapytaniu muszę dodać gdzieś %2, ale w którym miejscu i czy na pewno to hmm. Próbowałem różnie i nie działało. -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:54 |