[MYSQL/PHP] Zaznaczanie wszystkich niepustych komórek

0

Witam.
Mam tabelę w bazie danych, w której, w zależności od tego, co wypełni użytkownik, niektóre komórki są puste.
Przykład:
id | nick | skad | gg
1 | Test | | 1234567

W przykładzie tablica składałaby się z elementów: id, nick, gg.

Chciałbym, aby za pomocą jednego zapytania zaznaczyć wszystkie te komórki, które są niepuste i umieścić wynik zapytania w tablicy $tablica.
Wiem, że jest na przykład taka możliwość:
[code]if ($zapytanie['nazwapola'] != '') {
$tablica[] = $zapytanie['nazwapola'];
}[/code]
ale mam takich tablic kilka, a w każdej jest po paręnaście kolumn, więc zajęło by mi to mnóstwo czasu.

Czy jest to możliwe, czy muszę robić te "ify" dla każdej komórki?

0

To zrób funkcję, która ci to sprawdzi.

0

Szczerze mówiąc nie widzę sensu takiego sprawdzania przy liczbie rekordów większej od 1. Bo idąc według Twojego przykładu ktoś poda wartość "skąd", ale nie poda "gg", a inny ktoś nie poda "skąd", a poda "gg". Wtedy zapytanie tak czy siak zwróci obie kolumny, gdzie przy odpowiednich rekordach będą puste kolumny tam gdzie nie podali wartości.

Ma to sens jeśli wynikiem ma być 1 rekord.

0

Wynikiem ma być dokładnie jeden rekord, ponieważ nie ma takiej opcji, żeby było dwóch takich samych użytkowników w jednym portalu (przynajmniej nie dopuszczam do takiej sytuacji). W takim razie mam robić te "ify"? Czy jest jakiś inny sposób?

0

Możesz wsadzić pola do tablicy numerycznej, potem w pętli po indeksach sprawdzać czy wartość pola == null, a lepiej będzie jak sprawdzisz tak pole="".

0

array_diff_key powinno wystarczyć, wraz ze statyczną tablicą zawierającą listę wszystkich pól. A tablice taką możesz sobie wygenerować łatwo parsując to co zwraca DESCRIBE table.

1 użytkowników online, w tym zalogowanych: 0, gości: 1