Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Praca z PHP + MYSQL
xenvera
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 4.03.2014

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


Witajcie.

Mam do was kilka pytań związanych z PHP i MYSQL.

Chcę zrobić bazę danych Hotelu, czyli wszystkich klientów korzystających z wynajmu pokojów. Posiadam baze danych w której dodaję Imie, data przyjazdu itd idąc dalej nie wiem jak zrobić aby automatyczne skrypt liczył ilość dni ile dany klient przebywa w hotelu oraz mnożenie to przez kwotę noclegu (czyli. Przyjechałem 19.10.2014 do hotelu, 20.10.2014 opuszczam pokój czyli skrypt powinien odjąć(?) 20-19 = 1 * (koszt noclegu) = kwota zł.) Oraz aby wyświetlał wynik w tabeli.

Skrypt wygląda na razie tak:

  1. <?php
  2. require_once('config.php');
  3. include('index.php');
  4.  
  5. $ilosc = mysql_query("SELECT * FROM `klient`");
  6. $ilosc_klientow = mysql_num_rows($ilosc);
  7.  
  8. if($ilosc_klientow > 0)
  9. {
  10. echo '<center><font size="5">Aktualnie jest <b><font color="GREEN">'.$ilosc_klientow.'</font> </b>klientów!</font></center>';
  11. }
  12. else
  13. {
  14. echo '<center><font size="5">Aktualnie nie ma żadnych klientów!</font></center>';
  15. }
  16.  
  17. ///Dane szczegółowe
  18.  
  19. $dane = "SELECT id,imie,lozko,ilosc_dni,dzien, miesiac, rok ,data_dodania FROM `klient`";
  20. $a = 25;
  21. $wynik = mysql_query($dane);
  22. echo '<center><p>';
  23. echo '<table border="1" width="1000">';
  24. echo '<tr>';
  25. echo '<td bgcolor="orange">Identyfikator</td>';
  26. echo '<td bgcolor="orange">Imie</td>';
  27. echo '<td bgcolor="orange">Numer łóżka</td>';
  28. echo '<td bgcolor="orange">Przyjechał dnia';
  29. echo '<td bgcolor="orange">Do zapłaty</td>';
  30. echo '<td bgcolor="orange">Przenieś do archiwum!</td>';
  31. echo '</tr>';
  32.  
  33. while ($row = mysql_fetch_row($wynik))
  34. {
  35. echo '</tr>';
  36. echo '<td>'.$row[0].'</td>';
  37. echo '<td>'.$row[1].'</td>';
  38. echo '<td>'.$row[2].'</td>';
  39. echo '<td>'.$row[4].' '.$row[5].' '.$row[6].'</td>'; ///data
  40. echo '<td>KWOTA zł</td>';
  41. echo '<td><center><input type="submit" name="przenies" value="Przenieś!"></center></td>';
  42.  
  43. }
  44. echo '</table><br>';
  45. echo '<table border="1" width="600">';
  46. echo '<tr>';
  47. echo '<td>Suma</td>';
  48. echo '<td> zł</td>';
  49. echo '</table>';
  50.  
  51.  
  52. ?>






I co nikt nie wie jak to zrobić ? :<
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
xenvera
post
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 4.03.2014

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


Cytat(Dejmien_85 @ 22.10.2014, 22:03:23 ) *
Panowie i Panie, ogłaszam wszem i wobec, że jeśli ktoś nie weźmie się za te tutoriale z sieci uczące tak karygodnych praktyk, wtedy ja sam się za to wezmę. Zacznę niszczyć internety!

Kolego, to co tutaj poczyniłeś to przestępstwo - złamałeś jedno z ważniejszych przykazań developerów, tj. nie miesza się widoku z kodem. Proszę o natychmiastowe przemyślenie designu i oddzielenie widoku od kodu.

Najpierw niech wykona się logika, później wynik przekaż do widoku (stwórz plik .php, w którym będziesz miał tylko tą tabelkę i zmienną, która się wyświetli i na samej górze załącz pliczek z logiką).

Poza tym korzystasz z mysql_query - oj nie, tak się nie robi, to przestarzała funkcja korzystająca z przestarzałego sterownika do obsługi baz danych, przestań tego używać. To praktyki stosowane jeszcze przed 2004 rokiem! Przekształć to na PDO, albo na mysqli (z "i" na końcu).

Gdy wykonasz powyższe czynności, wtedy będzie można pogadać dalej. (IMG:style_emoticons/default/wink.gif)


Zamiast się tak rozpisywać i udawać super programistę odpowiedziałbyś na temat a nie atakował początkującego (IMG:style_emoticons/default/smile.gif)

Cytat(ShaggyAG @ 22.10.2014, 23:53:48 ) *


Dzięki!

Ten post edytował xenvera 23.10.2014, 09:49:15
Go to the top of the page
+Quote Post

Posty w temacie
- xenvera   Praca z PHP + MYSQL   22.10.2014, 20:25:13
- - Dejmien_85   Panowie i Panie, ogłaszam wszem i wobec, że jeśli ...   22.10.2014, 21:03:23
- - ShaggyAG   http://us1.php.net/manual/pl/datetime.diff.php   22.10.2014, 22:53:48
- - xenvera   Cytat(Dejmien_85 @ 22.10.2014, 22:03...   23.10.2014, 09:48:27
- - Boshi   To nie atak, to porada. Choć wg mnie powiedziec p...   23.10.2014, 11:05:07
- - xenvera   Ostatnie pytanie na szybko związane ze skryptem, c...   23.10.2014, 18:09:20
- - nospor   Bo nigdzie przed UPDATE nie wyliczasz $oblicz...   23.10.2014, 18:20:50
|- - xenvera   Cytat(nospor @ 23.10.2014, 19:20:50 )...   23.10.2014, 21:24:48
- - Boshi   A jaką wartość ma zmienna koszt? [PHP] pobierz, p...   23.10.2014, 22:05:08
- - xenvera   [PHP] pobierz, plaintext $data_dodania = $row...   23.10.2014, 22:20:24
- - nospor   CytatTo jest wszystko w jednym pliku....Ok.... Po ...   24.10.2014, 06:22:56
- - xenvera   Powiem tak, var_dump zawiera faktycznie wyniki co ...   24.10.2014, 14:52:24
- - nospor   No i zgadza sie. Oblicz robisz z listy a masz robi...   24.10.2014, 17:53:38
- - xenvera   Nie no, nie mam pojęcia ani nawet pomysłu jak to z...   24.10.2014, 19:33:00
- - ShaggyAG   Liczysz oblicz w petli dlatego zmienna pamięta ost...   25.10.2014, 06:21:46
- - xenvera   Gdzie mam wcisnąć te obliczenia, skoro do każdego ...   26.10.2014, 21:31:24
- - ShaggyAG   W bazie też musisz mieć jakieś pole tyu "zapł...   27.10.2014, 15:51:27
- - xenvera   No z ajaxem generalnie jeszcze nic nie zaczynałem,...   23.11.2014, 21:04:51
- - Turson   Zadaj po ludzku pytanie   23.11.2014, 21:31:41
- - xenvera   Mam problem ze skryptem którym Updatuje w bazie da...   30.11.2014, 17:45:28
- - borabora   masz pętlę, w niej obliczasz zmienną $oblicz....   1.12.2014, 01:07:08
- - xenvera   Udało mi się, jednak został mi ostatni problem. Ki...   1.12.2014, 21:15:34
- - borabora   bo masz takie zapytanie: [SQL] pobierz, plaintext ...   1.12.2014, 22:17:26
- - xenvera   foreach ma być w updajcie ? Bo z tego co widze to ...   1.12.2014, 22:26:10
- - borabora   nie. update w foreach(){tutaj}   1.12.2014, 23:19:05
- - xenvera   foreach(update ....); tak ?   2.12.2014, 00:27:29


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

 



RSS Aktualny czas: 26.12.2025 - 20:32