Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_fetch_array
Forum PHP.pl > Forum > PHP
Ka-lolek
Witam,
chce pobrac z tabeli bazy danych kilka rekordow, tworze zapytanie a nastepnie chce je wyswietlic przy pomocy:
  1. <?php
  2. while ($row = mysql_fetch_array($sql_result)) {
  3. echo $row["pole1"];
  4. echo $row["pole2"];
  5. itd.
  6. ?>

jezeli pole jest typu varchar, to wszystko gra, jednak jezeli jest to float to wyswietla 0 zamiast np. 12.4 ...
dlaczego tak sie dzieje? jak wyswietlic pola typu float?
pozdrawiam
wookieb
Daj print_r($row) i zobacz co się dzieje. Poza tym usun spacjie pomiedzy $ a nazwa zmiennej.
Ka-lolek
spacji we wlasciwym kodzie oczywiscie nie ma, to jest tyklo przyklad...
a po print_r wypisuje cos takiego
Cytat
[5] => 0
[Pole5] => 0
[6] => 0
[Pole6] => 0

dla pol typu float oraz int
a dla innych (varchar, tinyint) zamiast zer sa poprawne wartosci
wookieb
A sprawdź teraz czy są poprawne dane w phpmyadminie bo pewnie źle insertujesz dane.
Ka-lolek
tak, w phpmyadminie wszystko wyswietla sie jak nalezy
wookieb
1) Czy to wszystko co pokazuje phpmyadmin? Zwroc uwage na wielkosc liter w nazwie klucza ktory podajesz przy echo
2) Pokaż zapytanie
Ka-lolek
1) chyba nie rozumiem pytania... co ma pokazywac? Wyswietla wszystkie tabele, cala zawartosc moge przegladac, zadawac zapytania sql

2)
  1. SELECT * FROM mor WHERE Cond = 'Open' ORDER BY MorRate ASC LIMIT 5 ;
wookieb
Tfu.. print_r... Czy to wsystko co pokazywał print_r?
Wrzuć to zapytanie do phpmyadmin.
Ka-lolek
nie, to byl fragment, wyswietla cos takiego dla kazdego pola tylko ze jako wartosc jest 0 tylko dla pol typu float i int. dla pol typu varchar po => jest wlasciwa wartosc

wrzucalem do phpmyadmin i faktycznie dla tych pol typu float jako wartosc wypisuje 0.. ;/
ale jak przegladam tabele recznie to wyswietla poprawne wartosci..
po zapytaniu SELECT * FROM mor; tez wyswietla wszystkie wartosci poprawnie..
nie mam pojecia o co chodzi
wookieb
Poprostu wybierasz te wartosci które maja w tych polach wartosc 0. W dodatku pobierasz wedlug kolejnosci MorRate a php_my_admin pokazuje dane domyslnie według klucza glownego (o ile tego nie zmieniles)

Zmodyfikuj zapytanie na inne badz usun zbedne rekordy.
Ka-lolek
nie, zle zrozumiales - one w wynikach zapytania maja wartosc 0 ale jak je tam dodawalem to wpisywalem np. 12.5, 10.1 etc.
no i jak przegladam zawartosc tej tabeli w phpmyadminie to tez widze, ze te wartosc sa rozne od zera...
wookieb
Niemożliwe jest aby zamieniało wyniki podczas ich pobierania
Mówisz ze wrzuciles podane zapytanie do phpmyadmin i podaje ci 0
Cytat
wrzucalem do phpmyadmin i faktycznie dla tych pol typu float jako wartosc wypisuje 0.. ;/

Wywal Limit i zobacz czy Nadal wszedzie ci pokaze 0. Ale to już w skrypcie.

Podaj cały kod.
Jeżeli to nie wystarczy to zrób eksport tabeli i zapodaj na wklej.org
Ka-lolek
ok, juz wszystko wiem. Wszystko jest dobrze.. przepraszam bardzo za zamieszanie.
Nie wziaelm pod uwage mozliwosci, ze nie wszystkie wartosci w tabeli sa uzupelnione.. bylem przekonany, ze sa;)
a baza ma ponad 100 000 rekordow i na oko wygladalo wszystko ok.. jednak jak sie okazalo kilka jest wypelnionych zerami;p
jeszcze raz sry
kliknalem pomogl, dzieki.
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.