Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_query() zwraca pusty rekord
Forum PHP.pl > Forum > Bazy danych > MySQL
skotar
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ć?
TheTester
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 -.
maly_swd
  1. if(!$row['wart1']) $row['wart1']="-";
  2. if(!$row['wart2']) $row['wart2']="-";
  3.  
  4. echo "<tr><td>".$row['wart1']." ".$row['wart2']."</td></tr>";

skotar
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 ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.