Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]formatka sumujaca do wyświetlenia na www
Forum PHP.pl > Forum > Przedszkole
shaolin33
witam,

posiadam taką formatkę:

SELECT sum(inwent.kwota) FROM analizy.kredyty inner join analizy.inwent on kredyty.uwaga=inwent.uwaga WHERE
kredyty.modulo=inwent.modulo and kredyty.uwaga=inwent.uwaga
and inwent.konto like '810%' and detal=1 and kat in ('N','O') and kwota>0 AND status=4 ;

chciałbym aby wynik który z niej wychodzi można było umieścić w dowolnym miejscu na stronie www która jest na komputerze sieciowym i strona html jest tylko do wewnętrznego użytku

prosze o pomoc:)
CuteOne
Wrzuć zapytanie do jakiegoś pliku -> "zainkluduj" w index.php i wyświetlaj wynik gdzie chcesz smile.gif pod warunkiem oczywiście, że index.php jest twoim głównym plikiem, do którego "inkludujesz" inne pliki
bostaf
+ słowo klucz: PDO.
shaolin33
Cytat(CuteOne @ 15.10.2012, 08:39:40 ) *
Wrzuć zapytanie do jakiegoś pliku -> "zainkluduj" w index.php i wyświetlaj wynik gdzie chcesz smile.gif pod warunkiem oczywiście, że index.php jest twoim głównym plikiem, do którego "inkludujesz" inne pliki



heheh, czy możńa prosić na przykładzie ?

CuteOne
index.php
  1. require_once 'xx.php';
  2.  
  3. require_once 'modules/strona-1.php';


xx.php (podmień mysql_* na PDO)
  1. $query = mysql_query(zapytanie);
  2.  
  3. if(mysql_num_rows($query)>0){
  4.  
  5. $select = mysql_fetch_assoc($query);
  6. }


strona-1.php
  1. echo $select['suma'];
b4rt3kk
Tworzysz plik PHP:

  1. $query = "SELECT sum(inwent.kwota) FROM analizy.kredyty inner join analizy.inwent on kredyty.uwaga=inwent.uwaga WHERE kredyty.modulo=inwent.modulo and kredyty.uwaga=inwent.uwaga and inwent.konto like '810%' and detal=1 and kat in ('N','O') and kwota>0 AND status=4"; // twoje zapytanie
  2.  
  3. // teraz musisz połączyć się z bazą danych, wbrew pozorom PDO to nie jedyny sposób, można też mysqli
  4. $mysqli = new mysqli($host, $user, $password, $name); // za te zmienne musisz podstawić dane do bazy danych
  5. $result = $mysqli -> query($query); // wysyłasz zapytanie do bazy danych
  6.  
  7. // teraz możesz już wyświetlić w dowolny sposób wyniki
  8.  
  9. while ($row = $result->fetch_row()) {
  10. print_r($row);
  11. }


tak przygotowany plik możesz dołączyć w dowolnym miejscu w innym pliku php:

  1. include 'sciezka/plik.php';


co spowoduje wyświetlenie zawartości tego pierwszego w miejscu w którym go zaincludowałeś.
shaolin33
Cytat(CuteOne @ 15.10.2012, 11:30:47 ) *
index.php
  1. require_once 'xx.php';
  2.  
  3. require_once 'modules/strona-1.php';


xx.php (podmień mysql_* na PDO)
  1. $query = mysql_query(zapytanie);
  2.  
  3. if(mysql_num_rows($query)>0){
  4.  
  5. $select = mysql_fetch_assoc($query);
  6. }


strona-1.php
  1. echo $select['suma'];


ale tą formatkę gdzie mam wstawić ?

SELECT sum(inwent.kwota) FROM analizy.kredyty inner join analizy.inwent on kredyty.uwaga=inwent.uwaga WHERE
kredyty.modulo=inwent.modulo and kredyty.uwaga=inwent.uwaga
and inwent.konto like '810%' and detal=1 and kat in ('N','O') and kwota>0 AND status=4


Cytat(b4rt3kk @ 15.10.2012, 11:35:35 ) *
Tworzysz plik PHP:

  1. $query = "SELECT sum(inwent.kwota) FROM analizy.kredyty inner join analizy.inwent on kredyty.uwaga=inwent.uwaga WHERE kredyty.modulo=inwent.modulo and kredyty.uwaga=inwent.uwaga and inwent.konto like '810%' and detal=1 and kat in ('N','O') and kwota>0 AND status=4"; // twoje zapytanie
  2.  
  3. // teraz musisz połączyć się z bazą danych, wbrew pozorom PDO to nie jedyny sposób, można też mysqli
  4. $mysqli = new mysqli($host, $user, $password, $name); // za te zmienne musisz podstawić dane do bazy danych
  5. $result = $mysqli -> query($query); // wysyłasz zapytanie do bazy danych
  6.  
  7. // teraz możesz już wyświetlić w dowolny sposób wyniki
  8.  
  9. while ($row = $result->fetch_row()) {
  10. print_r($row);
  11. }


tak przygotowany plik możesz dołączyć w dowolnym miejscu w innym pliku php:

  1. include 'sciezka/plik.php';


co spowoduje wyświetlenie zawartości tego pierwszego w miejscu w którym go zaincludowałeś.



coś mi nie łaczy z bazą, hmm

baze mam na innym kompie w sieci lokalnej ktory ma krasnala

192.168.1.11
root
krasnal

takie mam tylko dane

takie tez wpisuje w MYSQL QUERY BROWSER aby sie połączyć z tym kompem lokalnym smile.gif

b4rt3kk
  1. $mysqli = new mysqli('http://192.168.1.11', 'root', 'krasnal', 'nazwa_bazy');


Tak robisz? Nie wiedziałem, ze ktoś jeszcze używa krasnala, przecież to nie rozwijany projekt. PHP w wersji chyba 4.x.x? A już jest 5.4.7.

PS. jeśli na kompie na którym działasz też masz krasnala, to wiedz, że mysqli jest dopiero od PHP 4.1 a PDO od 5.1.
shaolin33
ogolnie to krasnal jest tylko po to zeby inni mogli widziec to co robie na kompie.

jesli zrobilem plik gdzie bede pokazywał wynik z formatki nazwałem sobei go:


przychody.php

to wrzucam w tresc
  1. include 'kwartal_kred.php';


poprzedni plik z formatka to: kwartal_kred.php

i pokaze mi sie wynik ?

i jeszcze pytan

jak dzialam na tym kompie gdzie jest krasnal top i tak podaje lokalizacje localhost do bazy zgadza sie ?

nie musze pisac calego adresu ?

b4rt3kk
Cytat(shaolin33 @ 15.10.2012, 12:18:44 ) *
ogolnie to krasnal jest tylko po to zeby inni mogli widziec to co robie na kompie.

jesli zrobilem plik gdzie bede pokazywał wynik z formatki nazwałem sobei go:


przychody.php

to wrzucam w tresc
  1. include 'kwartal_kred.php';


poprzedni plik z formatka to: kwartal_kred.php

i pokaze mi sie wynik ?

i jeszcze pytan

jak dzialam na tym kompie gdzie jest krasnal top i tak podaje lokalizacje localhost do bazy zgadza sie ?

nie musze pisac calego adresu ?


3x Tak. smile.gif
shaolin33
Cytat(b4rt3kk @ 15.10.2012, 12:44:16 ) *
3x Tak. smile.gif


jednak zrobilem troche inaczej ale nie wyswietla mi wyniku

czy gdzies jest literowka ?

  1. <?php
  2.  
  3. $sql = "SELECT sum(inwent.kwota) FROM analizy.kredyty inner join analizy.inwent on kredyty.uwaga=inwent.uwaga WHERE kredyty.modulo=inwent.modulo and kredyty.uwaga=inwent.uwaga and inwent.konto like '810%' and detal=1 and kat in ('N','O') and kwota>0 AND status=4"; // zapytanie
  4.  
  5.  
  6. $sql = mysql_pconnect('localhost', 'root', 'krasnal');
  7. mysql_select_db("analizy");
  8.  
  9. $res=mysql_query("SELECT sum(kwota) FROM inwent WHERE konto like '60000-20_' ");
  10. $udzial = mysql_fetch_row($res);
  11.  
  12.  
  13. echo .$udzial. ;

CuteOne
Bez urazy ale nie znasz nawet zasad wyświetlania stringów... lepiej weź się za naukę podstaw bo daleko tak nie zajedziesz :|

ps. włącz sobie wyświetlanie błędów np.
  1. ini_set('display_errors', 1);
b4rt3kk
Istotnie, namieszałeś:

  1. $sql = "SELECT sum(inwent.kwota) FROM analizy.kredyty inner join analizy.inwent on kredyty.uwaga=inwent.uwaga WHERE kredyty.modulo=inwent.modulo and kredyty.uwaga=inwent.uwaga and inwent.konto like '810%' and detal=1 and kat in ('N','O') and kwota>0 AND status=4"; // zapytanie
  2.  
  3.  
  4. $sql = mysql_pconnect('localhost', 'root', 'krasnal'); // poprzednia wartość zmiennej $sql zostaje zastąpiona uchwytem do bazy danych
  5. mysql_select_db("analizy");
  6.  
  7. $res=mysql_query("SELECT sum(kwota) FROM inwent WHERE konto like '60000-20_' ");
  8. $udzial = mysql_fetch_row($res);
  9.  
  10.  
  11. echo .$udzial. ; // w ten sposób nie wyświetlisz tablicy, prawidłowo winno być tak jak poniżej
  12.  
  13. // kiedy masz więcej wyników
  14.  
  15. while ($udzial) {
  16. echo $udzial[0];
  17. }
  18.  
  19. // cała tablica wyników
  20.  
  21. print_r($udzial);
  22.  
  23. // odwołanie do konkretnej komórki i wiersza
  24.  
  25. echo $udzial[0][0];
shaolin33
tak namieszałem ale jakoś wybrnąłem:)

  1. <?php
  2.  
  3. include('procedury.php');
  4. $sql = mysql_pconnect('localhost', 'root', 'krasnal');
  5. mysql_select_db("analizy");
  6.  
  7. $res=mysql_query("SELECT sum(inwent.kwota) FROM analizy.rb inner join analizy.inwent on rb.uwaga=inwent.uwaga WHERE rb.modulo=inwent.modulo and rb.uwaga=inwent.uwaga and inwent.konto like '810%' and rb.konto like '27414-101' and kwota>0 AND status=4");
  8.  
  9. $ror = mysql_fetch_row($res);
  10.  
  11.  
  12. $res2=mysql_query("SELECT sum(inwent.kwota) FROM analizy.kredyty inner join analizy.inwent on kredyty.uwaga=inwent.uwaga WHERE kredyty.modulo=inwent.modulo and kredyty.uwaga=inwent.uwaga and inwent.konto like '810%' and detal=1 and kat in ('N','O') and kwota>0 AND status=4");
  13.  
  14. $kred = mysql_fetch_row($res2);
  15.  
  16.  
  17. out($ror[0]);
  18. out($kred[0]);
  19.  
  20.  
  21.  
  22. ?>


teraz pokazuje mi dwa wyniki

35 541,66510 165,52

ale chce żeby zamiast 1 linii było to jakoś lepiej opisane:

np.

1 linia: ROR: 35 541,66
2 linia: KRED: 510 165,52
3 linia pusta
4 linia Suma: linii 1 i 2
b4rt3kk
Co to za funkcja out?

  1. echo 'ROR: ' . $ror[0][0] . '<br/>KRED: ' . $kred[0][0] . '<br/>SUMA: ' . $ror[0][0]+$kred[0][0];
shaolin33
hehe, miałem bardzo podobny plik na dysku i analogicznie przerobiłem:)

smile.gif

Cytat(CuteOne @ 15.10.2012, 13:13:12 ) *
Bez urazy ale nie znasz nawet zasad wyświetlania stringów... lepiej weź się za naukę podstaw bo daleko tak nie zajedziesz :|

ps. włącz sobie wyświetlanie błędów np.
  1. ini_set('display_errors', 1);


witam raz jeszcze,

możesz polecić jakiś dobry zrozumiały kurs?
lekcje online, itp ?
ewentualnie jakieś szkolenia itp ?


b4rt3kk
A z jakiego zakresu? Bo kursów PHP jest wiele, jedne lepsze inne gorsze, jedne o tym drugie o innym, zależy co kto potrzebuje. osobiście polecam książkę Luka Wellinga i Laury Thomson - PHP i MySQL Tworzenie stron WWW. Vademecum profesjonalisty.
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.