awarzych 0 Zgłoś post Napisano Listopad 11, 2012 (edytowany) Witam, jestem nowy więc wypadało by się przywitać. Do rzeczy. Piszę skrypt do szkoły i mam mały problem. Utworzyłem pętle for (jak niżej). Problem polega na tym, że muszę dodać w niej kilka zmiennych i chyba zwykłe "+" tu nie działa. for( $x = 1; $x <= $czas; $x++ ){ $jaz=$_POST['p']*$x; // ile samochód przejedzie w danym dniu (ile przejedzie dziennie * dzień eksploatacji) $cjd=$ckd*$jaz; //cena oleju napędowego na dany dzień (cena przejechania kilometra * liczba przejechanych) $cwpd=floor($jaz/$pd)*$cpd;//Cena wszystkich przeglądów samochodów na diesel (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) $cjb=$ckb*$jaz; //cena benzyny na dany dzień (cena przejechania kilometra * liczba przejechanych) $cwpb=floor($jaz/$pb)*$cpb;//Cena wszystkich przeglądów samochodu na benzynę (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) echo "<tr>"."<td width='80px'>".$x."</td>"; echo"<td width='80px'>".$cjd+$cwpd+$_POST['a']."</td>";//zmienna a - cena samochodu na diesel echo"<td width='80px'>".floor($jaz/$pd)."</td>"; //liczba wykonanych przeglądów dla diesla echo"<td width='80px'>".$cjb+$cwpb+$_POST['b']."</td>";//zmienna b - cena samochodu na benzynę echo"<td width='80px'>".floor($jaz/$pb)."</td>"."</tr>"; //liczba wykonanych przeglądów dla samochodu na benzynę } Zdaję sobie sprawę, że pewnie to błahostka, ale nigdzie nie mogłem znaleźć odpowiedzi a php uczę się tydzień. Cały skrypt można zobaczyć na tej stronie informatyka.tx9.pl nie jest to finalna wersja pod względem grafiki, jak coś... Pozdrawiam Edytowano Listopad 11, 2012 przez awarzych (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
awarzych 0 Zgłoś post Napisano Listopad 11, 2012 Nie działa jak coś drugie i czwarte "echo" Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 11, 2012 for( $x = 1; $x <= $czas; $x++ ){ $jaz=$_POST['p']*$x; // ile samochód przejedzie w danym dniu (ile przejedzie dziennie * dzień eksploatacji) $cjd=$ckd*$jaz; //cena oleju napędowego na dany dzień (cena przejechania kilometra * liczba przejechanych) $cwpd=floor($jaz/$pd)*$cpd;//Cena wszystkich przeglądów samochodów na diesel (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) $cjb=$ckb*$jaz; //cena benzyny na dany dzień (cena przejechania kilometra * liczba przejechanych) $cwpb=floor($jaz/$pb)*$cpb;//Cena wszystkich przeglądów samochodu na benzynę (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) $zm1 = floor($jaz/$pb); echo "<tr>"."<td width='80px'>".$x."</td>"; echo "<td width='80px'>".$cjd+$cwpd+$_POST['a']."</td>";//zmienna a - cena samochodu na diesel echo "<td width='80px'>".$zm1."</td>"; //liczba wykonanych przeglądów dla diesla echo "<td width='80px'>".$cjb+$cwpb+$_POST['b']."</td>";//zmienna b - cena samochodu na benzynę echo "<td width='80px'>".$zm1."</td>"."</tr>"; //liczba wykonanych przeglądów dla samochodu na benzynę } Udostępnij ten post Link to postu Udostępnij na innych stronach
awarzych 0 Zgłoś post Napisano Listopad 11, 2012 dzięki za pomoc, ale błąd jest w tych linijkach. Właściwie ja błędu nie widzę, ale działać nie chce... echo "<td width='80px'>".$cjd+$cwpd+$_POST['a']."</td>";//zmienna a - cena samochodu na diesel i echo "<td width='80px'>".$cjb+$cwpb+$_POST['b']."</td>";//zmienna b - cena samochodu na benzynę W ogóle wywala mi całą kolumnę. Jak napisze te zmienne po kropce to wszystko jest ok, jak pomnożę też, ale dodawać nie chce... Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Listopad 11, 2012 echo '<td width="80px">'.$cjd+$cwpd+(int)$_POST['a'].'</td>'; Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 11, 2012 for( $x = 1; $x <= $czas; $x++ ){ $jaz=$_POST['p']*$x; // ile samochód przejedzie w danym dniu (ile przejedzie dziennie * dzień eksploatacji) $cjd=$ckd*$jaz; //cena oleju napędowego na dany dzień (cena przejechania kilometra * liczba przejechanych) $cwpd=floor($jaz/$pd)*$cpd;//Cena wszystkich przeglądów samochodów na diesel (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) $cjb=$ckb*$jaz; //cena benzyny na dany dzień (cena przejechania kilometra * liczba przejechanych) $cwpb=floor($jaz/$pb)*$cpb;//Cena wszystkich przeglądów samochodu na benzynę (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) $zm1 = floor($jaz/$pb); $zma = $cjd+$cwpd+$_POST['a']; $zmb = $cjb+$cwpb+$_POST['b']; echo "<tr>"."<td width='80px'>".$x."</td>"; echo "<td width='80px'>".$zma."</td>";//zmienna a - cena samochodu na diesel echo "<td width='80px'>".$zm1."</td>"; //liczba wykonanych przeglądów dla diesla echo "<td width='80px'>".$zmb."</td>";//zmienna b - cena samochodu na benzynę echo "<td width='80px'>".$zm1."</td></tr>"; //liczba wykonanych przeglądów dla samochodu na benzynę } Napisz na PW lub na GG 2802379 to ci pomogę jutro popołudniu jak do tego czasu nie uda ci się tego zrobić Udostępnij ten post Link to postu Udostępnij na innych stronach
maniack 403 Zgłoś post Napisano Listopad 11, 2012 (edytowany) . Edytowano Wrzesień 13, 2017 przez maniack (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość hdmagc Zgłoś post Napisano Listopad 12, 2012 (edytowany) Nie wspieram działania forum webhostingtalk.pl Edytowano Styczeń 15, 2013 przez hdmagc (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 12, 2012 (edytowany) Post ze serii uczymy dobrych zasad programowania. @autor - w ramach nauki porównaj kod z postów powyżej (dokładnie post @Kamikadze) z tym wklejonym poniżej, zawiera on poprawki i zarazem pokazuje dobre maniery w programowaniu. Nie patrzyłem czy poprawnie dodajesz etc, chodziło mi tylko o składnię i czytelność kodu. for( $x = 1; $x <= $czas; $x++ ) { // ile samochód przejedzie w danym dniu (ile przejedzie dziennie * dzień eksploatacji) $jaz = (int) $_POST['p'] * $x; //cena oleju napędowego na dany dzień (cena przejechania kilometra * liczba przejechanych) $cjd = $ckd * $jaz; //Cena wszystkich przeglądów samochodów na diesel (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) $cwpd = floor( $jaz / $pd ) * $cpd; //cena benzyny na dany dzień (cena przejechania kilometra * liczba przejechanych) $cjb = $ckb * $jaz; //Cena wszystkich przeglądów samochodu na benzynę (np. samochód przejedzie 18tys kilometrów a przegląd trzba robić co 4tys, zatem 4*cena przeglądu) $cwpb = floor( $jaz / $pb ) * $cpb; $zm1 = floor( $jaz / $pb ); $zma = $cjd + $cwpd + (int) $_POST['a']; $zmb = $cjb + $cwpb + (int) $_POST['b']; echo <<<EOT <tr> <td width='80px'>$x</td> <td width='80px'>$zma</td> <td width='80px'>$zm1</td> <td width='80px'>$zmb</td> <td width='80px'>$zm1</td> </tr> EOT; } Edytowano Listopad 12, 2012 przez xorg (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
maniack 403 Zgłoś post Napisano Listopad 12, 2012 ^ Może się czepiam, ale po co spacje przy nawiasach listy parametrów funkcji? To nie jest dobry nawyk. Żaden z podstawowych frameworków nie pozwala na coś takiego, a w standardzie PSR-2 wyraźnie zapisano "There MUST NOT be a space after the opening parenthesis, and there MUST NOT be a space before the closing parenthesis." Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 12, 2012 (edytowany) Tylko i wyłącznie dlatego, że kod jest dużo czytelniejszy w programach niepodświetlających składni danego języka, czyli np. forum. Normalnie nie używam spacji między nawiasami choćby z prostego powodu - nie widzę sensu dodawania sobie żmudnej pracy w postaci dodawania spacji. Żaden z podstawowych frameworków nie pozwala na coś takiego Tzn ? PHP to PHP, i nie spotkałem się aby gdzieś coś nie działało przez dodatkową spację. Chętnie zobaczę przykład, zainteresowało mnie to chyba, że masz na myśli "nie pozwala" = "łamie wytyczne" Edytowano Listopad 12, 2012 przez xorg (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
maniack 403 Zgłoś post Napisano Listopad 12, 2012 (edytowany) . Edytowano Wrzesień 13, 2017 przez maniack (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 12, 2012 (edytowany) Delikatnie odchodząc od głównego wątku, ciężko mi też uznać PSR-2 jako ogólnie przyjęte zasady... ... bo generalnie nie rozumiem narzucania czegoś w momencie gdy to kompletnie nic nie zmienia w kwestii działania / wydajności (mowa oczywiście o wciąż o wspominanym punkcie). Kogoś kod jest gorszy bo używa funkcja( x ) zamiast funkcja(x), bo tak powiedział "ktoś z góry" Oczywiście nie neguję całej konwencji, bo większość punktów jest co najmniej wymagana, ale są takie z którymi się nie zgadzam. Edytowano Listopad 12, 2012 przez xorg (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
maniack 403 Zgłoś post Napisano Listopad 12, 2012 (edytowany) . Edytowano Wrzesień 13, 2017 przez maniack (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
awarzych 0 Zgłoś post Napisano Listopad 12, 2012 Dobra dzięki za pomoc. Wystarczyło utworzyć dodatkowe 4 zmienne przed echami... W sumie mam już 76 zmiennych, to chyba jakiś rekord jak na takie zadanie. Puki co poprawiona wersja jest na stronie informatyka.tx9.pl więc jak by się komuś nudziło to sobie może policzyć. Zrobię jeszcze lepszą grafikę, ale z tym mam nadzieję poradzę sobie bez waszej pomocy. Temat do zamknięcia, chyba, że ma ktoś coś do dodania... Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
0xFF 32 Zgłoś post Napisano Listopad 12, 2012 ^ Może się czepiam, ale po co spacje przy nawiasach listy parametrów funkcji? [...] Zawsze możesz sobie kod przeformatować jakimś programem według własnego gustu. To dużo łatwiejsze niż toczenie świętych wojen o spacje, nawiasy i przecinki. ;-) Tutaj jest długa lista odpowiednich narzedzi: http://coding.smashi...-and-formatter/ Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Listopad 12, 2012 ... bo generalnie nie rozumiem narzucania czegoś w momencie gdy to kompletnie nic nie zmienia w kwestii działania / wydajności (mowa oczywiście o wciąż o wspominanym punkcie). Widocznie nigdy nie pracowałeś nad dużymi projektami, gdzie pracuje wiele osób. Jednolity styl programowania to podstawa. Stawianie spacji po otwarciu nawiasu niestety od standardów odbiega, pozatym w języku interpretowanym jak php nadużywanie znaków, ma wpływ na "szybkość" interpretacji. Udostępnij ten post Link to postu Udostępnij na innych stronach
awarzych 0 Zgłoś post Napisano Listopad 13, 2012 Dobra skorzystam z tego, że jeszcze nikt nie zamknął wątku. Więc próbuję jakoś urozmaicić skrypt, mam czas do końca miesiąca więc mogę się jeszcze pobawić. Dodałem już wysyłanie raportu na maila, jednak ciekawi mnie jeszcze jedno. Czy można przedstawić sumę kosztów z pętli w formie wykresu? Tzn. pionowo idzie koszty a poziomo dni i puścić dwie linie i np. czerwona oznacza koszty dla diesla a zielona dla benzyny. Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 13, 2012 Wykresy to raczej już HTML, CSS, ew JavaScript, w PHP możesz co najwyżej podstawić dane do wykresu, lecz nie go narysować... Udostępnij ten post Link to postu Udostępnij na innych stronach
0xFF 32 Zgłoś post Napisano Listopad 13, 2012 Czy można przedstawić sumę kosztów z pętli w formie wykresu? Tzn. pionowo idzie koszty a poziomo dni i puścić dwie linie i np. czerwona oznacza koszty dla diesla a zielona dla benzyny. Możesz skorzystać z jakiejś biblioteki PHP do robienia wykresów albo obrazków. Poszukaj w Google "php chart" i/lub "php graph". Jedna z wielu dyskusji na ten temat: http://stackoverflow...s-charts-in-php Udostępnij ten post Link to postu Udostępnij na innych stronach
awarzych 0 Zgłoś post Napisano Listopad 13, 2012 poszukałem trochę i chyba najlepszym rozwiązaniem jest "open flash chart" z resztą sami oceńcie http://teethgrinder.co.uk/open-flash-chart/ Ale w moim przypadku i tak to odpada, bo wartości osi trzeba samemu podać a w tym skrypcie ktoś może zrobić kalkulację na 10 albo 10 tys. dni. @xorg możesz rozwinąć myśl? Wykres w Html i Css? Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Listopad 13, 2012 poszukałem trochę i chyba najlepszym rozwiązaniem jest "open flash chart" z resztą sami oceńcie http://teethgrinder.co.uk/open-flash-chart/ Ale w moim przypadku i tak to odpada, bo wartości osi trzeba samemu podać a w tym skrypcie ktoś może zrobić kalkulację na 10 albo 10 tys. dni. @xorg możesz rozwinąć myśl? Wykres w Html i Css? Pozdrawiam Nie używaj flash, jest to już przestarzała technologia. Jeśli chodzi o html i css, dużo jest gotowych bibliotek, np. http://www.flotcharts.org/ Udostępnij ten post Link to postu Udostępnij na innych stronach
awarzych 0 Zgłoś post Napisano Listopad 13, 2012 a co jest nie tak z flashem? Jedyny minus jaki słyszałem to problem z wyszukiwaniem (poprawna interpretacja przez google). Powiem szczerze, że sugerowałem się tylko estetyką, bo jak dla mnie wygląda lepiej od libchart itp. Właściwie rozwiązałem już problem osi, wstawię po prostu zmienną. Nie będzie można najechać na dowolny dzień ale będzie wykres od pierwszego do ostatniego. Teraz pozostał wybór biblioteki. Coś poza wyżej wymienioną polecasz? Udostępnij ten post Link to postu Udostępnij na innych stronach
elcct 159 Zgłoś post Napisano Listopad 13, 2012 a co jest nie tak z flashem? Jedyny minus jaki słyszałem to problem z wyszukiwaniem (poprawna interpretacja przez google). Powiem szczerze, że sugerowałem się tylko estetyką, bo jak dla mnie wygląda lepiej od libchart itp. Właściwie rozwiązałem już problem osi, wstawię po prostu zmienną. Nie będzie można najechać na dowolny dzień ale będzie wykres od pierwszego do ostatniego. Teraz pozostał wybór biblioteki. Coś poza wyżej wymienioną polecasz? Flash nie działa dobrze na wielu platformach, zużywa dużo zasobów - a co za tym idzie i prądu, przez co używanie go na urządzeniach mobilnych nie jest wskazane. Stosuje się go już chyba tylko tam gdzie html5 sobie nie radzi, to jest przy streamingu z kamer, sam Adobe wycofuje flash z urządzeń mobilnych i zaleca używanie html5. Całkiem dobrą biblioteką jest też http://www.highcharts.com/products/highcharts darmowa do zastosowań niekomercyjnych. Udostępnij ten post Link to postu Udostępnij na innych stronach