![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 16.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabelę z dużą ilością danych. Mam zamiar wyciągać z niej około 30 sprecyzowanych rekordów. Każde wyciągam osobno, ale w jednym zapytaniu (UNION SELECT). I teraz, jeśli któryś z tych rekordów nie istniał, to po prostu go nie wyciągnęło, a cała reszta jest. Problem polega na tym, że chciałbym, aby w przypadku braku rekordu zwracało mi chociaż tabele 'error' z wartością 1 (przykład, chce obojętnie jaki znak, że akurat tego nie dało się wyciągnąć, bo nie istnieje).
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
A nie możesz po prostu sprawdzić tego sobie w PHP? Nie ma sensu nadmiernie komplikować zapytań.
PS. Jeśli przez "30 sprecyzowanych rekordów" masz na myśli 30 rekordów o danych ID, to możesz łatwiej to zrobić za pomocą "SELECT * FROM x WHERE id IN(1,2,3, ...)" (chyba, że czegoś nie zrozumiałem?) Ten post edytował .radex 21.04.2011, 19:27:08 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 16.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie mogę tego zrobić za pomocą PHP, bo będę musiał każdy rekord pobierać osobno (30 zapytań).
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego?
Masz 30 ID, tak? (nie zaprzeczyłeś, więc przypuszczam, że tak) Pobierasz je w jednym zapytaniu, a później przejeżdżasz pętlą i sprawdzasz, czego brakuje. Mógłbyś sprecyzować problem, bo chyba czegoś nie rozumiem. Ten post edytował .radex 21.04.2011, 19:33:37 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 16.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie, rekordy pobieram według nie 2 wartości, nie po ID.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 6 Dołączył: 4.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
pobieraj zapytanie w petli co za problem? Wypisujesz zapytnie id $id zaczynasz od 1 i w petli np for
for($id=1; $id<=30; $id++) { $zapytanie = "SELECT * FROM x WHERE id=$id"; ... ... } |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 16.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale to prymitywne rozwiązuje mój problem, bo będę wykonywał 25 zapytań zamiast jednego.
Tłumacze drugi raz: mam tabele z dużą ilością danych. Pobieram z niej LOSOWE rekordy o wybranych 2 parametrach z rekordu. Chcę, aby w przypadku jego braku był jakiś ślad. Bo tak to zwróci tablice tylko mniejszą o brakującą liczbę. Dalej nie rozumiesz? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale co to są za parametry? Zdecyduj się co chcesz osiągnąć?
Chcesz wyciągnąć 25 losowych rekordów spełniających dwa warunki? Chcesz wyciągnąć 30 sprecyzowanych rekordów? Podaj dokładne warunki jakie muszą te rekordy spełniać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 01:15 |