Dzięki ale to nie to było ;) Zrobiłem sobie za pomocą phpmyadmin tabelę i wpisałem dane i chciałem je odebrać i dlatego pokazywało krzaczki jak napisałem instrukcję wpisującą dane za pomocą php do mysql i potem ją wyświetliłem krzaczki zniknęły... mam serwer na Windowsie także podejrzewam że jak wpisuję normalnie dane za pomocą phpmyadmin wiem nigdy takich rzeczy się nie robi ;) to właśnie wpisuję chyba jako windows-1250 ;) czy jakoś tak ;) ale spoko problem rozwiązany...
problem OBSZEDŁEŚ. NAPRAW GO ZANIM UZUPEŁNISZ BAZĘ DANYMI w innym przypadku być może nie będziesz w stanie poprawnie wyeksportować bazy do pliku, a potem zaimportować (np. przy zmianie serwera, przywracaniu backupu). Jeżeli dane w phpmyadmin są widoczne normalnie, to na stronie też muszą!
Dzięki za uwagę dzisiaj nad tym popracuję myślałem że tak ma być... no export do pliku jest ważny bo będę chciał w końcowym etapie wyeksportować np. dane z bazy do pliku...
EDIT: Faktycznie jak @Madaoo pisał ustawienie:
mysql_query("SET CHARSET utf8");
mysql_query("SET NAMES `utf8` COLLATE `utf8_polish_ci`");
Pomogło i wyświetla wsio poprawnie i w phpmyadmin i w wynikach....
Ustawiłem sobie dane wymagane by skrypt zrobił wpis do tabeli. O załóżmy data urodzin nie jest wymagana. W mysql zrobiłem kolumnę o nazwie data_ur o typie DATE.
I teraz jak wypełnię pole w formularzu data załóżmy 2015-12-31 to jak wyświetlam potem dane z bazy to pokazuje mi tą datę ale gdy jej nie wpisze to pokazuje mi domyślnie 0000-00-00 czy można to jakoś zamienić by pokazywało nie wiem albo najlepiej tekst 'brak danych' albo puste pole ??
pola mogą mieć wartość NULL
(jeżeli tak zdefiniowałeś swoją tabelę). skorzystaj z tej możliwości to nie będzie tych zer.
Tak teraz na szybko sprawdziłem faktycznie wartości NULL można ustawić i nie wpisuje wtedy nic do bazy...
Podane przez @Madaoo rozwiązanie jest dobre, tylko źle je zapewne zastosowałeś!
Dokładnie tak jak napisałeś... źle to zastosowałem... Ale teraz mam inny problem mianowicie jak i w ogóle czy można wywołać funkcję w takim przypadku:
$wynik = mysql_query('select * from dane');
while ($txt = mysql_fetch_assoc($wynik))
{
$data_urodzenia = ($txt['data_ur'] == '0000-00-00') ? 'Brak danych' : $txt['data_urodzenia'];
$licznik = ($txt['data_ur'] == '0000-00-00') ? 'Brak danych' : ('Żyjesz: '.data($txt['data_urodzin']));
echo (
.'</td><td>'
.$txt['p_z_b']
.'</td><td>'
.$txt['f_o_o']
.'<tr><td>'
.$data_urodzenia
.'<tr><td>'
.$licznik
.'</td></tr><br />');
}
Sama funkcja data działa bo jak wkleję ją zamiast $licznik to podaje mi wynik czyli wklejam .'Żyjesz: '.data($txt['data_urodzin']) i pokazuje mi Żyjesz: 2987dni np.... tylko właśnie jak jest 0000-00-00 wpis w bazie to pokazuje mi że żyję 16093...
Zobaczę jak zachowa się skrypt potem jak określę te wpisy jako NULL
jak wtedy się skrypt zachowa mimo tego chciałbym wiedzieć czy można osadzać i w jaki sposób funkcję w while z mysql_fetch_assoc
Z góry dziękuję za wcześniejsze uwagi i podpowiedzi...