Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tablice - sumowanie wartości
tonymld
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 18.06.2002
Skąd: Różaniec

Ostrzeżenie: (0%)
-----


[php:1:4a6f835593]<?
if ($op=="zam" && isset($kat)&& isset($id)) {
$plik="system/txt/cennik/$kat.inc"; // nazwa pliku z danymi
$file=fopen($plik,"r");
$tab[0]="Start"; // tworzymy tabele
$rozmiar=filesize($plik);
if ($rozmiar > 0) {
while (!feof ($file)) // odczytuje plik do konca
{
$zmienna = fgets($file, 4096); // pobiera jedn& linijkę o długo&ci 4096 znaków
array_push($tab,$zmienna); // dopisuje do tabeli
}
$ile=count($tab);
$ile--; // liczy ile pól ma tabela, nie licz&ć pola o warto&ci "Start"
for ($n=$ile;$n>1;$n--) // powtaraz z wszystkimi polami tabeli
{
$buffer=explode("||",$tab[$n]); // rozdziela zmienn& po kazdym ||
if ($buffer[0]=="$id") {
// dodawanie do pliku zam
print("Nazwa produktu: <b>$buffer[2]</b><br>Firma: <b>$buffer[1]</b><br>cena: <b>$buffer[3]</b> zł<br><br>Artykuł został pomy&lnie dodany do koszyka: <a href=zamowienie.php>zobacz koszyk</a>.");

$dane="n$buffer[1]||$buffer[2]||$buffer[3]||";
$file="system/zamowienia/$sklep.txt";
$fp=fopen("$file", "r+");
$dane=$dane.fread($fp, filesize($file));
rewind($fp);
flock($fp, 2);
fwrite($fp, $dane);
flock($fp, 3);
fclose($fp);
}
}
}
else {
print("<p align=center>Twój koszyk jest pusty!</p>");
}


}
else {
print("<p align=center><b>Twój koszyk:</b></p>");
$plik="system/zamowienia/$sklep.txt"; // nazwa pliku z danymi
$file=fopen($plik,"r");
$tab[0]="Start"; // tworzymy tabele
$rozmiar=filesize($plik);
if ($rozmiar > 0) {
print("<table border=0 align=center width=99% cellspacing=1 cellpadding=1>");
print("<tr class=n><td width=60%>&Nazwa produktu:</td><td width=30%>&Producent:</td><td width=10%>&Cena:</td></tr>");
while (!feof ($file)) // odczytuje plik do konca
{
$zmienna = fgets($file, 4096); // pobiera jedn& linijkę o długo&ci 4096 znaków
array_push($tab,$zmienna); // dopisuje do tabeli
}
$ile=count($tab);
$ile--; // liczy ile pól ma tabela, nie licz&ć pola o warto&ci "Start"
for ($n=$ile;$n>1;$n--) // powtaraz z wszystkimi polami tabeli
{
$buffer=explode("||",$tab[$n]); // rozdziela zmienn& po kazdym ||
?>
<tr onmouseover="bgColor='#66ccff'" bgColor='#F9F9FF' onmouseout="bgColor='#F9F9FF'"> <? echo"<td>&$buffer[1]</td><td>&$buffer[0]</td><td>&$buffer[2] zł</td></tr>";
#
}
$razem=questionmark.gif?;
print("</table><br>&Razem: <b>$razem</b> zł");
}
else {
print("<p align=center>Twój koszyk jest pusty!</p>");
}
}
?>[/php:1:4a6f835593]

Chodzi o to, aby $razem zawierała sumę wszystkich pól $buffer[2]

please help me :cry:


Prosze o umieszczanie kodu w znacznikach [php] - Seth


--------------------
Łukasz Witka
http://witka.net
#GG: 1599261
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Nie przeglaaełm kodu (na stępnym razem najpierw pisz, w czym problem, a dopiero póżniej dawaj kod) ale sądzę, że chodzi o array_sum()


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
tonymld
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 18.06.2002
Skąd: Różaniec

Ostrzeżenie: (0%)
-----


sama funkcja mi nic nie daje...

wiem, że trzeba dać cos takiego:
[php:1:d1c4e23b1c]<?php
$rozmiar=array_sum( );
?>[/php:1:d1c4e23b1c]

ale jakie paramerty funkcja przyjmuje to nie wiem, a szukałem u siebie w manualu i nie znalazłem sad.gif

jeśli chodzi o szczegóły, to mam takzapisane dane:
Kod
aaa||fff||23||

sss||ddd||3||

vvv||ggg||4||


chodzi mi o to, aby dodać do siebie wartości 23, 3 i 4, czyli w mojej tablicy $buffer[2]


--------------------
Łukasz Witka
http://witka.net
#GG: 1599261
Go to the top of the page
+Quote Post
[fisher]
post
Post #4





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 4.03.2003

Ostrzeżenie: (0%)
-----


Cytat
ale jakie paramerty funkcja przyjmuje to nie wiem, a szukałem u siebie w manualu i nie znalazłem sad.gif


nie klam, w manualu jest jak byk

http://php.mainseek.com/manual/pl/function...n.array-sum.php

jesli nie znajdziesz to pisze tutaj

Cytat
mixed array_sum (array tablica)


--------------------
Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn<
Go to the top of the page
+Quote Post
Myrek
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 8.02.2003

Ostrzeżenie: (0%)
-----


Jeśli o to chodzi, co myślę, to za każdym razem wpisujesz w tą samą tablicę wartości z różnych wierszy pliku. Łatwiej by było od razu wpisywać je do tablicy wielowymiarowej, a później tylko zsumować kolumnę np. buffer[x][2],a do wyświetlania, funkcja foreach. Ale twoim sposobem, też da się to zrobić.
Za każdym razem, gdy tworzysz tablicę, cena towaru ($buffer[2]), jest zapisywana w nowej tablicy ($tablica[$x]), a po pętli sumujesz wartości z tablicy $tablica. Powinno tak działać.
Oto kod tej od tej pętli:
[php:1:3110936bd3]
for ($n=$ile;$n>1;$n--) // powtaraz z wszystkimi polami tabeli
{
$x=0;
$buffer=explode("||",$tab[$n]); // rozdziela zmienn& po kazdym ||
?>
<tr onmouseover="bgColor='#66ccff'" bgColor='#F9F9FF' onmouseout="bgColor='#F9F9FF'"> <? echo"<td>&$buffer[1]</td><td>&$buffer[0]</td><td>&$buffer[2] zł</td></tr>";
$tablica[$x]=$buffer[2];
$x++;
}
$razem=array_sum($tablica);
print("</table><br>&Razem: <b>$razem</b> zł");
}
else {
print("<p align=center>Twój koszyk jest pusty!</p>");
}
}
?>[/php:1:3110936bd3]

Nie wiem czy o to Ci chodziło, jak nie to napisz dokładniej o co jest grane.
Pozdrawienia.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:23