jagon
29.10.2010, 12:33:37
Witam Was, potrzebuję szybkiej odpowiedzi na nurtujące mnie pytanie - "jak to zrobić?" Otóż za pomocą pętli while, która zapętla 10 razy, tworzę 10 pól tekstowych, każde osobno nazwane name='input_movie[$i]'.
Wypełnione pola wysłyłam do bazy MySQL, gdzie INSERT INTO też zawarte jest w pętli, która również domyślnie zapętla 10 razy.
Problem pojawia się wtedy, gdy wypełnię 5/10 pół (nie są to pola obowiązkowe), a pętla i tak doda 10 rekordów do bazy, w tym 5 pustych.
Pytanie brzmi, w jaki sposób ustawić drugą pętle tak, aby wiedziała, że ma wykonać tyle powtórzeń, ile wypełnionych jest pól?
Lub jeśli to możliwe, proszę o informację w jaki sposób zmienić tabelę w bazie tak, aby nie przyjmowała pustych rekordów.
nospor
29.10.2010, 12:35:13
Za bardzo nie wiem jaki masz problem.
Przecież zanim włożysz pole do bazy to przecież wiesz czy jest ono puste czy nie. Wystarczy wiec prosty IF
IF (pole nie puste) wkladaj do bazy
jagon
29.10.2010, 12:58:47
Rekordy są przecież zapisywane w bazie za pomocą pętli, w pętli nie da się postawić warunku IF, a postawienie takowego przed pętlą, spowoduje to, że pętla nie zostanie wykonana.
nospor
29.10.2010, 13:08:15
yyy, IF nie mozna dac do pętli?
while(){
if () .....
}

Pokaz lepiej kod co masz
jagon
29.10.2010, 13:19:39
O kurde, rzeczywiście miałeś rację z tym IFem! Widocznie musiałem poprzednim razem machnąć się w którymś miejscu, bo zwracała komunikat z błędem. Dzięki jeszcze raz:)