Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]sumowanie kolumny oraz jej wyświetlenie na stronie
Forum PHP.pl > Forum > Przedszkole
Lukasz_mk2
Panowie mam prośbę
mam takie tabele:
pracownicy:
prac_id | prac_nazwisko | prac_imie
1 |kowalski | jan

czas_pracy:

cz_id | cz_pra_id | cz_data | cz_czas | cz_rodz_id
1 | 1 | 2010/01/02 | 8 | 4
2 | 1 | 2010/01/03 | 8 | 4
3 | 1 | 2010/01/04 | 8 | 5


(cz_pra_id to klucz obcy do tabeli pracownicy, a cz_rodz_id to klucz obcy do tabeli rodzaj_pracy)

tabela rodzaj_pracy:

rodz_id | rodz_nazwa
4 | godziny podstawowe
5 | urlop


chce otrzymać sumę przepracowanych godzin przez Jana Kowalskiego w okresie od do

moja strona z formularze wygląda tak:

  1. <form action="przep_czas/licz_przep_czas.php" method="POST">
  2. <?php
  3. $link = mysql_connect(localhost, root, root) or die('Błąd: Nie można połączyć z MySQL!');
  4. mysql_select_db(mydb) or die('Błąd: Nie można wybraż bazy danych!');
  5.  
  6. $zapytanie = mysql_query ("select prac_id, prac_nazwisko, prac_imie from pracownicy");
  7.  
  8. echo('Wybierz pracownika <select name="prac_nazwisko">');
  9. echo '<option value="">Wybierz pracownika</option>';
  10. while($row = mysql_fetch_array($zapytanie)) {
  11. echo('<option value="'.$row['prac_id'].' '.$row['prac_nazwisko'].' '.$row['prac_imie'].'">'.$row['prac_nazwisko'].' '.$row['prac_imie'].'</option>');
  12. }
  13. echo('</select>');
  14.  
  15. ?>
  16. <br />
  17.  
  18. Od dnia: <input type="text" name="data_od" > (datę należy wprowadzić w formacie RRRR/MM/DD)<br />
  19. Od dnia: <input type="text" name="data_do" > (datę należy wprowadzić w formacie RRRR/MM/DD)<br />
  20.  
  21. <input type="submit" value="Zatwierdź">
  22. <input type="reset" value="Wyczyść formularz" />
  23. </form>

mój plik licz_przep_czas.php wygląda tak:

  1. <?php
  2. $prac_id=$_POST['prac_id'];
  3. $prac_nazwisko=$_POST['prac_nazwisko'];
  4. $prac_imie=$_POST['prac_imie'];
  5. $data_od=$_POST['data_od'];
  6. $data_do=$_POST['data_od'];
  7.  
  8.  
  9. $db_user='root';//user majacy dostep do bazy
  10. $db_password='root';//haslo
  11. $database='mydb';//nazwa bazy danych
  12.  
  13. mysql_connect('localhost',$db_user,$db_password);
  14. mysql_select_db($database) or die ("Nie udalo sie wybrac bazy danych");
  15. $query="select prac_imie, prac_nazwisko, sum(cz_czas) as 'suma' from pracownicy
  16. join czas_pracy on prac_id = cz_pra_id where `cz_pra_id` ='$prac_id' and `cz_rodz_id`<>5 and cz_data between '$data_od' and '$data_do'";
  17.  
  18. //jak wyświetlić wynik tego zapytania $query


jak wyświetlić wynik tego zapytania do bazy??
hs20
zapytanie to jakaś tablica asocjacyjna pewnie więc funkcja print_r pomoże
Lukasz_mk2
wiem że to nie na miejscu, ale mogę prosić o jakieś bliższe wskazówki co do tego print_r

zrobiłem coś takiego:
  1. $wynik_pytania1 = mysql_query($quary);
  2. $wiersz = mysql_fetch_array($wynik_pytania1);
  3. echo $wiersz['prac_imie'];
  4. echo $wiersz['prac_nazwisko'];
  5. echo $wiersz['suma'];

ale dostaje taki błąd:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\WebServ\httpd\www\przep_czas\licz_przep_czas.php

ale zrobiłe też coś takiego:
  1. $result2 = mysql_query($query) or die($query."<br/><br/>".mysql_error());

i nie dostałem żadnego błędu więc zapytanie jest prawidłowe, zwłaszcz, że jak wpisze zapytanie w phpmyadmin "z palca" to dostaje wynik taki jaki mnie interesuje
Sprawdzałem też czy dane przekazywane z formularza są prawidłowe i ten test także przeszedł pozytywnie.
I nie wiem co dalej sad.gif
Pomoże ktośquestionmark.gif
Gość
Literówka: $query zamiast $quary. Włącz wyświetlanie błędów error_reporting
Lukasz_mk2
ok, mam teraz tak, ale w wyniku mam Resource id #4:
  1. $prac_id=$_POST['prac_id'];
  2. $prac_nazwisko=$_POST['prac_nazwisko'];
  3. $prac_imie=$_POST['prac_imie'];
  4. $data_od=$_POST['data_od'];
  5. $data_do=$_POST['data_od'];
  6.  
  7. $db_user='root';//user majacy dostep do bazy
  8. $db_password='root';//haslo
  9. $database='mydb';//nazwa bazy danych
  10.  
  11. mysql_connect('localhost',$db_user,$db_password);//jesli pliki html i php beda na tym samym serwerze co baza to musisz wpisac 'localhost' w przeciwnym razie dostep do bazy czyli lokalizacje
  12. mysql_select_db($database) or die ("Nie udalo sie wybrac bazy danych");
  13. $query="select sum(cz_czas) as suma from pracownicy
  14. join czas_pracy on prac_id = cz_pra_id where 'cz_pra_id' = '$prac_id' and `cz_rodz_id`<>5 and cz_data between '$data_od' and '$data_do'";
  15.  
  16.  
  17. $wynik_pytania1 = mysql_query($query);
  18. echo $wynik_pytania1;
  19. $wiersz = mysql_fetch_assoc($wynik_pytania1);
  20. echo $wiersz['sum(cz_czas)'];
kamil_lk
18 linijka do wywalenia.
20 linijkę zamień na
  1. echo $wiersz['suma'];
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.