Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] array_sum(), Źle mi sumuje, dodaje "o jeden za duzo"
-greg87g-
post
Post #1





Goście







mam tablice:
Kod
$tablica[0]=1
$tablica[1]=0
$tablica[2]=3
$tablica[3]=0
$tablica[4]=0


a funkcja array_sum($tablica) zwraca mi wartosc 6 :/
wiem, logicznie rzecz biorąc, jest jakis element o ktrym zapomnialem i on jest tez sumowany, ale
kiedy jakis element zwiększę o jeden to suma zwieksza sie o 2!

czyli jesli $tablica[0]=2 to array_sum(tablica) zwroci 8
poprostu wzrost wartosci o 1 powoduje zwiekszenie sumy (juz blednej sumy, a nie liczonej od nowa) o 2


jesli to pomocne to powiem ze elementy biore z bazy danych (niektóre w bazie mają wartosc 0, a w stworzonej tablicy sa puste) i dodam ze wyswietlilem sobie wszystkie elementy tablicy oraz wynik i elementy sa ok, a wynik zly

Ten post edytował greg87g 1.03.2009, 18:28:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-greg87g-
post
Post #2





Goście







no to moze oryginal:
Kod
[b]switch($_POST[odp]){[/b]
  
  
                            [i]case '0':
                            $odp='a';              
                            break;

                            case '1':
                            $odp='b';              
                            break;

                            case '2':
                            $odp='c';              
                            break;

                            case '3':
                            $odp='d';              
                            break;

                            case '4':
                            $odp='e';              
                            break;

                            case '5':
                            $odp='f';              
                            break;

                            case '6':
                            $odp='g';              
                            break;

                            case '7':
                            $odp='h';              
                            break;

                            case '8':
                            $odp='i';              
                            break;

                            case '9':
                            $odp='j';              
                            break; };[/i]

  1. [b]$selekt="SELECT a, b, c, d, e, f, g, h FROM ankiety WHERE lp=$lp";[/b]
  2. $zrob=mysql_query($selekt);
  3. $fecz=mysql_fetch_array($zrob);
  4.  
  5. [b]$suma=array_sum($fecz);
  6. $zwieksz=$fecz[$odp]+1;[/b]
  7.  
  8. [b]$aktualizuj="UPDATE ankiety SET $odp=$zwieksz, razem=$suma WHERE lp=$lp";[/b]
  9. [i]$zrobaktualizacje=mysql_query($aktualizuj);[/i]

i stan tych elementow w bazie:
a=2
b=1
c=1
d=2
e=0
f=0
g=0
h=0
i=0
j=0

razem=10

Ten post edytował greg87g 1.03.2009, 18:29:15
Go to the top of the page
+Quote Post

Posty w temacie
- greg87g   [PHP] array_sum()   28.02.2009, 21:41:32
- - kefirek   No przecierz zwraca poprawną wartosc 4 [PHP] pobie...   28.02.2009, 21:47:37
- - greg87g   no to moze oryginal: Kod [b]switch(...   28.02.2009, 21:54:48
- - ayeo   ~greg87g, proszę uzupełnić posta o znaczniki BBcod...   28.02.2009, 21:58:22
- - kefirek   A tak po za tym to można to dorazu na w zapyt...   28.02.2009, 22:01:52
- - greg87g   z jakiegos dziwnego powodu dalej nie dziala. a naw...   1.03.2009, 00:00:12


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 01:04