Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Przycisk na stronie wprowadzajacy date do tabeli
skonec
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


Witam

Chce zrobic prosta strone z baza SQL aby moc kontrolowac moich pracownikow. Na stronie mamy do wyboru co zaczyna robic, jaki produktm jaka praca z nim zwiazana oraz czas rozpoczecia tej pracy.
Dane te zostaja wyswietlone oraz przycisk "Zakonczone", ktory to ma wprowadzac date zakonczenia dla danego produktu:

Oto moj kod:
* tijd aan- czas start
*tijd uit - czas stop
  1. <?php
  2.  
  3. $product = $_POST['product'];
  4. $balk = $_POST['balk'];
  5. $arbeid = $_POST['arbeid'];
  6. $aantal = $_POST['aantal'];
  7.  
  8. // łączymy się z bazą danych
  9. $connection = @mysql_connect('localhost', 'root', 'Haslo')
  10. or die('Brak połączenia z serwerem MySQL');
  11. $db = @mysql_select_db('patryk', $connection)
  12. or die('Nie mogę połączyć się z bazą danych');
  13.  
  14. if ($product !=0) $ins = @mysql_query("INSERT INTO dane SET product='$product', balk='$balk', arbeid='$arbeid', aantal='$aantal', tijd_aan=NOW()");
  15.  
  16. $query_tijd_uit=("select id, product, balk, arbeid, tijd_aan from dane where tijd_uit is NULL;") or die ("error select");
  17. $result_tijd_uit=mysql_query($query_tijd_uit);
  18. $temp_tijd_uit=mysql_result($result_tijd_uit);
  19.  
  20. echo "<table cellpadding=\"4\" border=2>";
  21. echo "<tr>";
  22. echo "<th>" .'id'. "</th>";
  23. echo "<th>" .'Product'. "</th>";
  24. echo "<th>" .'Balk'. "</th>";
  25. echo "<th>" .'Arbeid'. "</th>";
  26. echo "<th>" .'Tijd ann'. "</th>";
  27.  
  28. echo "</tr>";
  29. while($r = mysql_fetch_assoc($result_tijd_uit)) {
  30. echo "<tr>";
  31.  
  32. echo "<td>" .$r['id']. "</td>";
  33. echo "<td>".$r['product']."</td>";
  34. echo "<td>".$r['balk']."</td>";
  35. echo "<td>".$r['arbeid']."</td>";
  36. echo "<td>".$r['tijd_aan']."</td>";
  37.  
  38. ?>


po kolumnie Tijd aan chce dodac Tijd uit (czas zakonczenia) z przyciskiem, ktory doda czas zakonczenia do odpowiedniego 'id'
mecze sie z tym juz 3 dni, google tez nie pomoglo.

Prosze pomozcie jak do dokonczyc.
Z gory serdecznie dziekuje
pozdrawiam
skonec
Powód edycji: [Kshyhoo]: bb-code
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
Kshyhoo
post
Post #2





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




1. usuń wszelkie @, bo tłumią wyświetlanie błędów.
2. włącz wyświetlanie błędów, np. na początku kodu:
  1. ini_set( 'display_errors', 'on' );
  2. error_reporting( E_ALL );

3. żeby dodać coś do bazy, najlepiej dodać to przez formularz, czego brakuje w Twoim kodzie.
4. MySQL to przeżytek, najlepiej użyj PDO ew. MySQLi.

PS. Używaj właściwego bb-code do kodu PHP.
Go to the top of the page
+Quote Post
skonec
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


dziekuje za szybka reakcje

faktycznie bede uzywal bb-code, o wiele czytelniej wyglada

wyswietlanie bledow mam w calym kodzie
mam tez wprowadzanie do bazy przez formularze- to juz opanowalem (IMG:style_emoticons/default/smile.gif)

mecze sie teraz z ta tabela i dodaniem do niej przycisku ktory wprowadzi czas ukonczenia dla danego id
to juz jest dla mnie zbyt trudne ;/
Powód edycji: [Kshyhoo]:
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





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




Nie wiem, czy masz formularz, bo w Twoim kodzie go nie ma. Z formularza musisz przekazać ID zakończonej operacji i przy pomocy WHERE id=$id zapisać w bazie. Innymi słowy, tam gdzie masz "Zakonczone" musisz przekazać ID tejże czynności.
Go to the top of the page
+Quote Post
skonec
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


Cytat(Kshyhoo @ 10.12.2016, 16:14:41 ) *
Nie wiem, czy masz formularz, bo w Twoim kodzie go nie ma. Z formularza musisz przekazać ID zakończonej operacji i przy pomocy WHERE id=$id zapisać w bazie. Innymi słowy, tam gdzie masz "Zakonczone" musisz przekazać ID tejże czynności.


Myslalem o czyms takim na zakonczeniu kodu, ktory wczesniej podalem:

  1. echo "<td>".'<input type="button" value="Gotowe!!" onclick="@mysql_query("INSERT INTO dane set tijd_uit=NOW() where id='$r['id]''")">'."</td>";


ale to nie dziala, nie rozumie co robie zle ;/
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





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




Nie musisz cytować każdej mojej wypowiedzi.
Kod musi być uniwersalny, więc Twoje rozwiązanie jest złe. Przecież nie będziesz dodawał osobnego zapytania do każdej czynności - tym bardziej, że JS jest widoczny w kodzie strony, co stanowi niejako zaproszenie do modyfikacji przez nieuprawnionych. To powinno być na zasadzie:
  1. <input type="hidden" name="id" value="<?php echo $id?>;

gdzie przekażesz ID czynności do zakończenia. Potem odbierasz, wrzucasz w zapytanie i do bazy.
Go to the top of the page
+Quote Post
skonec
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


wczoraj wlaczylem do pozna w nocy, nie opanowalem

tu jest moj caly kod, prosze pomozcie jak to zrobic

  1. <head>
  2. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  3. <title>FHS produktie</title>
  4. body {font-family: arial;}
  5. td {text-align: center;}
  6. </style>
  7. <style type="text/css">
  8. th {background: #555;color: #FFF;}
  9. tr:nth-child(odd) {background: #CCC;}
  10. tr:nth-child(even) {background: #EFEFEF;}
  11. </style>
  12. <link rel="stylesheet" type="text/css" href="./temp.css" />
  13. </head>
  14. <body>
  15.  
  16.  
  17. <br />
  18. <br /><br />
  19. <form action="werkcon.php" method="post">
  20. product:
  21. <select name="product">
  22.  
  23. <option>2gr basic</option>
  24. <option>3gr basic</option>
  25. <option>4gr basic</option>
  26. <option>5gr basic</option>
  27. <option>6gr basic</option>
  28. <option>7gr ultra</option>
  29. <option>8gr ultra</option>
  30. <option>9gr ultra</option>
  31.  
  32. </select>
  33. <br />
  34. balk:
  35. <select name="balk">
  36. <option>onderbalk</option>
  37. <option>bovenbalk</option>
  38.  
  39. </select>
  40. <br />
  41. arbeid:
  42. <select name="arbeid">
  43. <option>zaggen</option>
  44. <option>ponsen</option>
  45. <option>vloeiboren</option>
  46. <option>tappen</option>
  47.  
  48. </select>
  49. <br />
  50. aantal:
  51. <input type="text" name="aantal" /><br />
  52. <br />
  53. <input type="submit" value="toevoegen" /> <br /> <br />
  54. </form>
  55.  
  56.  
  57. <?php
  58.  
  59. $product = $_POST['product'];
  60. $balk = $_POST['balk'];
  61. $arbeid = $_POST['arbeid'];
  62. $aantal = $_POST['aantal'];
  63.  
  64. // łączymy się z bazą danych
  65. $connection = @mysql_connect('localhost', 'root', 'HASLO')
  66. or die('Brak połączenia z serwerem MySQL');
  67. $db = @mysql_select_db('patryk', $connection)
  68. or die('Nie mogę połączyć się z bazą danych');
  69.  
  70.  
  71. if ($product !=0) $ins = @mysql_query("INSERT INTO dane SET product='$product', balk='$balk', arbeid='$arbeid', aantal='$aantal', tijd_aan=NOW()");
  72.  
  73. $query_tijd_uit=("select id, product, balk, arbeid, tijd_aan from dane where tijd_uit is NULL;") or die ("error select");
  74. $result_tijd_uit=mysql_query($query_tijd_uit);
  75. $temp_tijd_uit=mysql_result($result_tijd_uit);
  76.  
  77. function klik()
  78. {
  79.  
  80. $tijd_klaar = @mysql_query("INSERT INTO dane set tijd_uit=NOW()");
  81. return true;
  82. }
  83.  
  84.  
  85. echo "<table cellpadding=\"4\" border=2>";
  86. echo "<tr>";
  87. echo "<th>" .'id'. "</th>";
  88. echo "<th>" .'Product'. "</th>";
  89. echo "<th>" .'Balk'. "</th>";
  90. echo "<th>" .'Arbeid'. "</th>";
  91. echo "<th>" .'Tijd ann'. "</th>";
  92.  
  93. echo "</tr>";
  94. while($r = mysql_fetch_assoc($result_tijd_uit)) {
  95. echo "<tr>";
  96.  
  97. echo "<td>" .$r['id']. "</td>";
  98. echo "<td>".$r['product']."</td>";
  99. echo "<td>".$r['balk']."</td>";
  100. echo "<td>".$r['arbeid']."</td>";
  101. echo "<td>".$r['tijd_aan']."</td>";
  102.  
  103. ******** echo "<td>".'<input type="submit" value="KLAAR" onclick="return klik();" />'."</td>";
  104.  
  105.  
  106. echo "</tr>";
  107. }
  108. echo "</table>";
  109.  
  110.  
  111. ?>
  112.  
  113. <br />
  114.  
  115.  
  116. </center>
  117. </body>
  118. </html>
  119.  


jak zmodyfikowac linijke z ******* aby po kliknieciu dodac czas zakonczenia odpowiednio do danego ID. Funkcja klik() dodaje tylko czas, ale nie do danego ID

raz jeszcze dziekuje za pomoc
pozdrawiam

P.S. prosze o wyrozumialosc za kod, jestem naprawde poczatkujacy (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Boshi
post
Post #8





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Zacznij od PDO i bindowaniu parametrów a nie brnij w ten kod dalej.
Go to the top of the page
+Quote Post
skonec
post
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


nawet nie wiem co to znaczy...
to ma byc strona dla 3pc bez dosteu do internetu, tylko lokalnie wszystko

na to co osiagnalem dzieki google jestem zadowolony, dziala to co mialem osiagnac

potrzebuje tylko ostatniego elementu i bede zadowolony, nie jestem programista
Go to the top of the page
+Quote Post
viking
post
Post #10





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Na Kliknięcie musisz wykonać zapytanie update... Where id=twoje id i tyle. Tylko musisz je wykonać po stronie php a nie js które działa w przeglądarce.
Go to the top of the page
+Quote Post
skonec
post
Post #11





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


Cytat(viking @ 11.12.2016, 13:45:20 ) *
Na Kliknięcie musisz wykonać zapytanie update...


no wlasnie, ale jak to zrobic... caly dzien juz siedcze i nic ;/
Go to the top of the page
+Quote Post
viking
post
Post #12





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Onclick wywoluje funkcję js a u Ciebie jest to funkcja PHP. Nie mają ze sobą nic wspólnego. Wyślij normalnie formularz i w nim wywołaj.
Go to the top of the page
+Quote Post
skonec
post
Post #13





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


przepraszam Panowie dalej nie rozumie

czy moglby mi ktos dopisac to co mi brakuje, ciagle kombinuje ale nic z tego ;/

raz jeszcze dzikeuje za pomoc
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #14





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




Najprostszy przykład.
Go to the top of the page
+Quote Post
skonec
post
Post #15





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.12.2016

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


tak ja to wiem, jest nawet ten przyklad w moim kodzie.

ale jak dodac w tej tabel, na koncu przycisk typu submit, ktory zapisuje wartosc ktora nie zostala wproadzona- czyli NOW()- taka wartosc chce dodac do sql- jako' tijd_uit '

juz sie dowiedzialem ze onclick tu nie zadziala, ale na co zmienic, nie mam pojecia

dalej sie nad tym glowie ....


P.S. ciezki jestem nie?? (IMG:style_emoticons/default/biggrin.gif)

JEST!! uporalem sie z tym, ale nie do konca. teraz dodaje mi tijd_uit do wszystkiego ;/
nie wiem jak
  1. $t=$r['id']

ustawic do jednego id tam gdzie zostal przycisk wcisniety ;(

oto co poprawilem:

  1. echo "<table cellpadding=\"4\" border=2>";
  2. echo "<tr>";
  3. echo "<th>" .'id'. "</th>";
  4. echo "<th>" .'Product'. "</th>";
  5. echo "<th>" .'Balk'. "</th>";
  6. echo "<th>" .'Arbeid'. "</th>";
  7. echo "<th>" .'Aantal'. "</th>";
  8. echo "<th>" .'Tijd ann'. "</th>";
  9.  
  10. echo "</tr>";
  11. while($r = mysql_fetch_assoc($result_tijd_uit)) {
  12. echo "<tr>";
  13.  
  14. echo "<td>" .$r['id']. "</td>";
  15. echo "<td>".$r['product']."</td>";
  16. echo "<td>".$r['balk']."</td>";
  17. echo "<td>".$r['arbeid']."</td>";
  18. echo "<td>".$r['aantal']."</td>";
  19. echo "<td>".$r['tijd_aan']."</td>";
  20.  
  21. echo "<td>".'<form action="werkcon.php" method="post"> <input type="submit" name="tijd_klaar" value="KLAAR" /> </form>'."</td>";
  22. $t=$r['id'];
  23. if (isset($_POST['tijd_klaar']))
  24. {
  25. $tijd_klaar=@mysql_query("update dane set tijd_uit=NOW() where id='$t'");
  26. }
  27. echo "</tr>";
  28. }
  29.  
  30.  
  31. echo "</table>";


ponownie dziekuje za wszelka pomoc

Ten post edytował skonec 13.12.2016, 19:26:16
Go to the top of the page
+Quote Post

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: 23.12.2025 - 14:08