Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mysql_query() zwraca pusty rekord, (warunek na pusty rekord) ?
skotar
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.11.2010

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


Witam wszystkich serdecznie, na forum jestem dość krótko i przyszedł czas na pierwszy post.

Problem polega na tym, że chce wyświetlać odpowiednie rekordy, które spełniają dane warunki :
  1. WHERE cos = wart1 AND cos2 = wart2 AND cos3 = wart3


jak są spełnione wszystkie warunki to zapytanie działa poprawnie i wyświetla mi powiedzmy:

  1. echo "<tr><td>".$row['wart1']." ".$row['wart2']."</td></tr>";
i tak dalej

natomiast jeśli nie spełnia któregoś z tych trzech warunków to zwraca jak wiadomo pusty rekord.

Moje pytanie: Czy jest możliwość wyświetlenia powiedzmy :
  1. echo "<tr><td> minus </td></tr>";


kiedy baza zwraca mi pusty rekord?
Jaki warunek muszę zastosować?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
TheTester
post
Post #2





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 11.03.2009

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


Używając takiego warunku po AND pobierasz tylko to co spełnia warunek. Nie pobierasz "pustych" rekordów. Efekt jak chcesz uzyskać możesz osiągnąć poprzez pobranie wszystkich rekordów (bez warunków). Dopiero podczas ich wyświetlania sprawdzasz czy np. wart1 istnieje i wstawiasz samą wartość lub -.
Go to the top of the page
+Quote Post
maly_swd
post
Post #3





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


  1. if(!$row['wart1']) $row['wart1']="-";
  2. if(!$row['wart2']) $row['wart2']="-";
  3.  
  4. echo "<tr><td>".$row['wart1']." ".$row['wart2']."</td></tr>";



--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
skotar
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.11.2010

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


maly_swd, no właśnie tak mi nie chce pójść właśnie chyba dlatego że jak nie jest spełniony któryś warunek w zapytaniu ten z AND to wtedy danego rekordu w ogóle nie bierze pod uwagę.

Dziękuje za szybko odpowiedź

Ale mam jeszcze jedno pytanie mam taką tabelkę która się generuje według zapytania

|zmienna 1 | zmienna 2 | zmienna 3|
|zmienna 4 | zmienna 5 | zmienna 6|
-------------------------------------------
|wart 1 | 1nie spel | 1 spelnia | 1 nie spel |
|wart 2 | 2 spelnia | 2 niespel | 2 spelnia |
|wart 3 | 3 spelnia | 3 spelnia | 3 niespel |

kolumna 1 to:
|zmienna1|
|zmienna4|
-------------
|1 nie spel|
|2 spelnia |
|3 spelnia |

wartości są z boku dla przykładu, zmienna 1, 2, 3, 4, 5 etc to jakieś ograniczki które są właśnie w zapytaniu po AND

po zrobieniu tak jak powiedziałeś wszystko jest oky ale jak mamy w tabelce po jednej danej. Powiedzmy że w pierwszej kolumnie nie mamy wart 1 i 2 to wstawia puste pola tak jak pisałem wczesniej a pole 3 spelnia i jest wyświetlone poprawnie. Natomiast jestli jest sytuacja w pierwszej kolumnie tak jak przedstawiłęm w narysowanej tabelce
to robi tak:
tylko pierwsza kolumna:
1 niespelnia
2 niespelnia
3 niespelnia
4 spelnia
5 spelnie

czyli zawsze liczy od początku i dodaje nie potrzebne <tr><td>, a ja potrzebuje zrobić że jeśli 2 spelnia to następne liczenie będzie od tej wartości 2.
wart 1,2,3 są order by asc i wiadome jest że nie musi znowu sprawdzać dla wart1 wart2 ...

Ten post edytował skotar 22.11.2010, 12:37:31
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: 19.08.2025 - 14:43