Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] skrypt do nauki słówek
dentopolis
post 6.03.2017, 09:47:00
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

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


piszę bardzo prosty skrypt do nauki słówek. baza wygląda tak: słowo obce , polskie znaczenie , tak (wiem), nie (nie wiem), wyświetleń.

http://dentopolis.org/norweski/

jak powinien wyglądać kod który po wyświetleniu słowa zwiększy liczbę wyświetleń o 1 a po kliknięciu albo na tak albo na nie zwiększy o 1?

obecny kod:
  1.  
  2. // Create connection
  3. $conn = new mysqli($servername, $username, $password, $dbname);
  4. // Check connection
  5. if ($conn->connect_error) {
  6. die("Connection failed: " . $conn->connect_error);
  7. }
  8.  
  9. $sql = "SELECT * FROM norsk ORDER BY RAND() LIMIT 0,1";
  10. $result = $conn->query($sql);
  11.  
  12. if ($result->num_rows > 0) {
  13. while($row = $result->fetch_assoc()) {
  14.  
  15. echo $row[no];
  16. echo "<br/>";
  17. echo "<button type='button'>odpowiedz</button><br/>";
  18. echo $row[pl];
  19. echo "<hr/>";
  20.  
  21. echo "<button type='button'>tak</button>";
  22. echo "<button type='button'>nie</button><br/>";
  23. echo $row [tak];
  24. echo " / ";
  25. echo $row[nie];
  26.  
  27. echo "";
  28. }
  29. } else {
  30. echo "brak wyników";
  31. }


Ten post edytował dentopolis 6.03.2017, 12:21:52
Go to the top of the page
+Quote Post
nospor
post 6.03.2017, 10:58:00
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie bardzo rozumiem problem.
Czego nie potrafisz zrobic? Zwiekszyc wartosci w bazie?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dentopolis
post 6.03.2017, 11:30:18
Post #3





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

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


po kliknięciu na tak powinna zwiększyć się wartość w kolumnie tak w bazie.odpowiednio z nie. natomiast niezaleznie czy kliknie tak czy nie to ma wzrosnąć wartość wyświetleń.
Go to the top of the page
+Quote Post
viking
post 6.03.2017, 11:38:22
Post #4





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

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


No i jaki problem? Buttonom daj name i po tym identyfikuj co zostało kliknięte. http://stackoverflow.com/questions/2259155...ql-update-query


--------------------
Go to the top of the page
+Quote Post
dentopolis
post 6.03.2017, 12:21:31
Post #5





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

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


mam taki kod ale nie zmienia nic w bazie. czy mogę prosić o sprawdzenie gdzie jest błąd?

  1. $id=$row[id];
  2. $tak=$row[tak]+1;
  3. $nie=$row[nie]+1;
  4. $show=$row[show]+1;
  5.  
  6. echo $row[no];
  7. echo "<br/>";
  8. echo "<button id='show'>odpowiedz</button><br/>";
  9. echo "<p style='display:none;'>";
  10. echo $row[pl];
  11. echo "</p><hr/>";
  12.  
  13. echo "<form action='' method='post'>";
  14. echo "<button type='button' name='tak'>tak</button>";
  15. echo "<button type='button' name='nie'>nie</button><br/>";
  16. echo $row [tak];
  17. echo " / ";
  18. echo $row[nie];
  19. echo "</form>";
  20.  
  21. if (isset($_POST['tak'])) {
  22. $sql = "UPDATE norsk SET tak = '$tak', show = '$show' WHERE id = '$id';";
  23. $conn->query($sql);
  24. }
  25.  
  26.  
  27. }
  28. } else {
  29. echo "brak wyników";
  30. }
Go to the top of the page
+Quote Post
viking
post 6.03.2017, 12:36:24
Post #6





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

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


Na początek włącz raportowanie błędów bo masz tu pełno notice. id raczej nie jest stringiem?


--------------------
Go to the top of the page
+Quote Post
dentopolis
post 6.03.2017, 15:32:16
Post #7





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

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


naprawiłem błędy NOTICE ale co dalej?

  1. <html>
  2. <head>
  3. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  4. <script>
  5. $(document).ready(function(){
  6. $("#hide").click(function(){
  7. $("p").hide();
  8. });
  9. $("#show").click(function(){
  10. $("p").show();
  11. });
  12. });
  13. </script>
  14. </head>
  15. <body>
  16.  
  17. <center>
  18. <a href="/norweski/index.php">Lista</a> |
  19. <a href="/norweski/wszystkie.php">Pytanie Z Wszystkich</a> |
  20. <a href="/norweski/powtarzanie.php">Powtarzanie Trudnych</a>
  21. <hr/>
  22. <?php
  23. $servername =
  24. $username =
  25. $password =
  26. $dbname =
  27.  
  28. // Create connection
  29. $conn = new mysqli($servername, $username, $password, $dbname);
  30. // Check connection
  31. if ($conn->connect_error) {
  32. die("Connection failed: " . $conn->connect_error);
  33. }
  34.  
  35. $sql = "SELECT * FROM norsk ORDER BY RAND() LIMIT 1";
  36. $result = $conn->query($sql);
  37.  
  38. if ($result->num_rows > 0) {
  39. while($row = $result->fetch_assoc()) {
  40.  
  41. $id=$row['id'];
  42. $tak=$row['tak']+1;
  43. $nie=$row['nie']+1;
  44. $show=$row['show']+1;
  45. echo $row['no'];
  46. echo "<br/>";
  47. echo "<button id='show'>odpowiedz</button><br/>";
  48. echo "<p style='display:none;'>";
  49. echo $row['pl'];
  50. echo "</p><hr/>";
  51.  
  52. echo "<form action='' method='post'>";
  53. echo "<button type='button' name='tak'>tak</button>";
  54. echo "<button type='button' name='nie'>nie</button><br/>";
  55. echo $row ['tak'];
  56. echo " / ";
  57. echo $row['nie'];
  58. echo "</form>";
  59.  
  60. if (isset($_POST['tak'])) {
  61. $sql = "UPDATE norsk SET tak = '$tak', show = '$show' WHERE id = '$id';";
  62. $conn->query($sql);
  63. }
  64.  
  65.  
  66. }
  67. } else {
  68. echo "brak wyników";
  69. }
  70.  
  71.  
  72.  
  73. $conn->close();
  74. ?>
  75. </center>


Ten post edytował dentopolis 6.03.2017, 15:50:44
Go to the top of the page
+Quote Post
viking
post 6.03.2017, 18:21:59
Post #8





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

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


Po query linia 62 wyświetl błąd analogicznie jak w linii 31


--------------------
Go to the top of the page
+Quote Post
dentopolis
post 10.03.2017, 06:42:50
Post #9





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

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


nadal nie rozumiem co w kodzie jest nie tak. gdzie mogę znaleźć podobny prosty przykład jak zaktualizować wpis w bazie mysql po naciśnięciu przycisku?
Go to the top of the page
+Quote Post
Tomplus
post 10.03.2017, 07:17:43
Post #10





Grupa: Zarejestrowani
Postów: 1 875
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Jak chcesz zwiększać wartość, to potrzebujesz tylko Id słowa.

Kod
UPDATE `norsk` SET `tak` = `tak` + 1, `show` = `show` + 1 WHERE `id` = $id;
Go to the top of the page
+Quote Post
dentopolis
post 13.03.2017, 11:52:28
Post #11





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

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


mój kod obecnie wygląda tak, ale nadal nie aktualizuje bazy:

  1. <html>
  2. <head>
  3. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  4. <script>
  5. $(document).ready(function(){
  6. $("#hide").click(function(){
  7. $("p").hide();
  8. });
  9. $("#show").click(function(){
  10. $("p").show();
  11. });
  12. });
  13. </script>
  14. </head>
  15. <body>
  16.  
  17. <center>
  18. <a href="/norweski/index.php">Lista</a> |
  19. <a href="/norweski/wszystkie.php">Pytanie Z Wszystkich</a> |
  20. <a href="/norweski/powtarzanie.php">Powtarzanie Trudnych</a>
  21. <hr/>
  22. <?php
  23. $servername = "localhost";
  24. $username = "";
  25. $password = "";
  26. $dbname = "";
  27.  
  28. // Create connection
  29. $conn = new mysqli($servername, $username, $password, $dbname);
  30. // Check connection
  31. if ($conn->connect_error) {
  32. die("Connection failed: " . $conn->connect_error);
  33. }
  34.  
  35. $sql = "SELECT * FROM norsk ORDER BY RAND() LIMIT 1";
  36. $result = $conn->query($sql);
  37.  
  38. if ($result->num_rows > 0) {
  39. while($row = $result->fetch_assoc()) {
  40.  
  41. $id=$row['id'];
  42.  
  43. echo $row['no'];
  44. echo "<br/>";
  45. echo "<button id='show'>odpowiedz</button><br/>";
  46. echo "<p style='display:none;'>";
  47. echo $row['pl'];
  48. echo "</p><hr/>";
  49.  
  50. echo "<form action='' method='post'>";
  51. echo "<button type='button' name='tak'>tak</button>";
  52. echo "<button type='button' name='nie'>nie</button><br/>";
  53. echo $row ['tak'];
  54. echo " / ";
  55. echo $row['nie'];
  56. echo "</form>";
  57.  
  58. if (isset($_POST['tak'])) {
  59. $sql = "UPDATE norsk SET tak = '$tak' + 1, show = '$show' + 1 WHERE id = '$id';";
  60. $conn->query($sql);
  61. }
  62.  
  63.  
  64. }
  65. } else {
  66. echo "brak wyników";
  67. }
  68.  
  69.  
  70.  
  71. $conn->close();
  72. ?>
  73. </center>
  74.  
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: 9.07.2025 - 04:06