Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][SQL][PHP]Zliczanie punktów karnych i wyświetlanie na stronie.
ReCiak
post 24.05.2019, 22:16:07
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.05.2019

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


Witam,przychodzę z kolejnym problemem mianowicie próbuje zrobić coś takiego żeby pobierało mi punkty karne z innej tabeli i wyświetlało w tabeli "przestepcy". Kombinuje coś z inner joinem i countem na punktach karnych ale mi nie wychodzi.




Ktoś wie jak mógłbym to zrobić? Ktoś coś?
Go to the top of the page
+Quote Post
Kshyhoo
post 25.05.2019, 09:47:51
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Pierwsza zasada na Forum: kod i zrzuty bazy w formie tekstowej a nie obrazki...


--------------------
Go to the top of the page
+Quote Post
ReCiak
post 27.05.2019, 15:17:05
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 17.05.2019

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


A to przepraszam najmocniej.

  1. function przestepcy_lista(){
  2. echo '
  3. <h2 class="btn-custom2 btn--green" style="float:right"><a href="/przestepcy/dodaj">Dodaj</a></h2>
  4. ';
  5. $sql = "SELECT P.imie,P.id,P.nazwisko,P.adres,P.inne,COUNT(K.punkty) FROM przestepcy AS P INNER JOIN kary AS K ON P.id=K.id GROUP BY P.id ORDER BY (P.id) ASC";
  6. $zapytanie = mysql_query($sql);
  7. echo '
  8. <table class="layout display">
  9. <thead>
  10. <tr>
  11. <th>ID</th>
  12. <th>Imię</th>
  13. <th>Nazwisko</th>
  14. <th class="adres">Adres</th>
  15. <th>Punkty</th>
  16. <th class="inne" colspan="2">Inne</th>
  17. </tr>
  18. </thead>
  19. <tbody>
  20. ';
  21. while($z = mysql_fetch_array($zapytanie)){
  22. $id = $z['id'];
  23. $imie = $z['imie'];
  24. $nazwisko = $z['nazwisko'];
  25. $adres = $z['adres'];
  26. $inne = $z['inne'];
  27. $punkty = $z['punkty'];
  28. echo '
  29. <tr>
  30. <td class="organisationnumber">'.$id.'</td>
  31. <td>'.$imie.'</td>
  32. <td>'.$nazwisko.'</td>
  33. <td>'.$adres.'</td>
  34. <td class="center">'.$punkty.'</td>
  35. <td>'.$inne.'</td>
  36. <td>
  37. <a class="btn-custom btn-info btn-xs" href="przestepcy/edycja/'.$id.'"><i class="far fa-edit"></i></a>
  38. <a href="/przestepcy/usun/'.$id.'" class="btn-custom btn-danger btn-xs"> <i class="fas fa-ban"></i></a></td>
  39. </tr>
  40. ';
  41. }
  42. echo '
  43. </tbody>
  44. </table>
  45. ';
  46. }


Chce zrobić żeby w tabeli w kolumnie z punktami,zliczało punkty które otrzymał dany przestępca.

@@REFFFF
@@REFFFF


chciałbym napisać taką funkcje aby pobierało mi wyniki z tabeli "przestepcy" oraz z tabeli "kary". Następnie posiadam na stronie tabelke z pętlą wyświetlającą przestepców i chciałbym żeby do każdego przestępcy pokazywało ile ma punktów karnych. Czy mógłby mi ktoś z tym pomóc?

Zacząłem pisać takie coś sam nie wiem czy dobrze.

  1. function punkty() {
  2. $sql = "SELECT * FROM przestepcy ORDER BY (id) ASC";
  3. $zapytanie = mysql_query($sql);
  4. while(){
  5.  
  6. }



Tutaj jest tabelka na stronie wyświetlająca przestępców:

  1. function przestepcy_lista(){
  2. echo '
  3. <h2 class="btn-custom2 btn--green" style="float:right;margin-top: 3rem;"><a href="/przestepcy/dodaj">Dodaj</a></h2>
  4. ';
  5. $sql = "SELECT * FROM przestepcy ORDER BY (id) ASC";
  6. $zapytanie = mysql_query($sql);
  7. echo '
  8. <table class="layout display">
  9. <thead>
  10. <tr>
  11. <th>ID</th>
  12. <th>Imię</th>
  13. <th>Nazwisko</th>
  14. <th class="adres">Adres</th>
  15. <th>Punkty</th>
  16. <th class="inne" colspan="2">Inne</th>
  17. </tr>
  18. </thead>
  19. <tbody>
  20. ';
  21. while($z = mysql_fetch_array($zapytanie)){
  22. $id = $z['id'];
  23. $imie = $z['imie'];
  24. $nazwisko = $z['nazwisko'];
  25. $adres = $z['adres'];
  26. $inne = $z['inne'];
  27. echo '
  28. <tr>
  29. <td class="organisationnumber">'.$id.'</td>
  30. <td>'.$imie.'</td>
  31. <td>'.$nazwisko.'</td>
  32. <td>'.$adres.'</td>
  33. <td class="center">'.$punkty.'</td>
  34. <td>'.$inne.'</td>
  35. <td>
  36. <a class="btn-custom btn-info btn-xs" href="przestepcy/edycja/'.$id.'"><i class="far fa-edit"></i></a>
  37. <a href="/przestepcy/usun/'.$id.'" class="btn-custom btn-danger btn-xs"> <i class="fas fa-ban"></i></a></td>
  38. </tr>
  39. ';
  40. }
  41. echo '
  42. </tbody>
  43. </table>
  44. ';
  45. }


Tutaj natomiast jest funkcja która dodaje do tabeli punkty karne danego przestepcy:

  1. function kary_dodaj(){
  2. echo '
  3. <form method="POST" class="contact-form form-add">
  4. <label>Przestępca:</label>
  5. <select class="formularz" name="przestepca">
  6. <option>Wybierz z listy</option>
  7. ';
  8. $sql = "SELECT * FROM `przestepcy` ORDER BY (nazwisko) ASC";
  9. $zapytanie = mysql_query($sql);
  10. while($z = mysql_fetch_array($zapytanie)){
  11. $id = $z['id'];
  12. $imie = $z['imie'];
  13. $nazwisko = $z['nazwisko'];
  14. $adres = $z['adres'];
  15. echo '
  16. <option value="'.$id.'">'.$nazwisko.' '.$imie.' - '.$adres.'</option>
  17. ';
  18. }
  19. echo '
  20. </select>
  21. <label>Ilość Punktów:</label>
  22. <input type="number" step="1" name="punkty" class="formularz pierwszy" placeholder="Wprowadz ilosc punktów w formie dziesietnej..."/>
  23. <label>Opis:</label>
  24. <input type="text" name="opis" class="formularz pierwszy" placeholder="Opis kary... (alternatywnie)"/>
  25. <a href="/przestepcy/" class="btn-custom2 btn--red" style="margin-left: 38%;">Wstecz</a>
  26. <input type="submit" value="Ukaraj" class="btn-custom2 btn--green add"/>
  27. </form>
  28. ';
  29. if($_POST['przestepca'] != '' && $_POST['punkty'] != ''){
  30. $przestepca = $_POST['przestepca'];
  31. $punkty = $_POST['punkty'];
  32. $opis = $_POST['opis'];
  33. $kiedy = date("Y-m-d");
  34. $sql = "INSERT INTO `kary` (`id`, `przestepca_id`, `punkty`, `opis`, `kiedy`) VALUES (NULL, '$przestepca', '$punkty', '$opis', '$kiedy')";
  35. $zapytanie = mysql_query($sql);
  36. if(!$zapytanie){
  37. }else{}
  38. $kto = $_SESSION['id'];
  39. $z_czego = '';
  40. $na_co = '';
  41. $co = 'Ukaranie przestępcy o ID:'.$przestepca;
  42. $sql = "INSERT INTO `logi` (`id`, `kto`, `z_czego`, `na_co`, `kiedy`, `co`) VALUES (NULL, '$kto', '$z_czego', '$na_co', '$kiedy', '$co')";
  43. $zapytanie = mysql_query($sql);
  44. if(!$zapytanie){
  45. }else{
  46. header('Location: /przestepcy/');
  47. }
  48. }
  49. }


Jest to projekt szkolny w tym tygodniu muszę go oddac! Prosze o pomoc z góry dziękuje!!

Ten post edytował ReCiak 27.05.2019, 15:22:59
Go to the top of the page
+Quote Post
dublinka
post 28.05.2019, 07:29:28
Post #4





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Przecuez to mozna na jednej tabeli zrobic.


--------------------
Go to the top of the page
+Quote Post
mrk9109
post 28.05.2019, 12:27:36
Post #5





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


Dokładnie i użyć SUM do sumowania pkt karnych np
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 Wersja Lo-Fi Aktualny czas: 29.03.2024 - 12:28