Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] przycisk dodaje stałą wartość do bazy
Forum PHP.pl > Forum > Przedszkole
avaster12
Witam chcę dodać na stronę status wgniecionego przycisku z wykorzystaniem bazy danych. Są 2 stałe 1 albo 0 zależny od przycisku.
kod przycisków
  1. <form id="relay" action="remote_relay.php" method="GET">
  2. <input type="button" name="On" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red On" <?php?> onClick="relayOn()"/>
  3. <input type="button" name="Off" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red Off" onClick="relayOff()"/><br><br>
  4. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue On" onClick="relayOn1()"/>
  5. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue Off" onClick="relayOff1()"/><br><br>
  6. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green On" onClick="relayOn2()"/>
  7. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green Off" onClick="relayOff2()"/>
  8. <input type="hidden" name="total" id="total" value="">
  9. </form>
kod bazy danych
  1. -- Struktura tabeli dla tabeli `swiatlo`
  2. --
  3.  
  4. CREATE TABLE IF NOT EXISTS `swiatlo` (
  5. `id` int(11) NOT NULL AUTO_INCREMENT,
  6. `R` int(11) NOT NULL,
  7. `G` int(11) NOT NULL,
  8. `B` int(11) NOT NULL,
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  11.  
  12. --
  13. -- Zrzut danych tabeli `swiatlo`
  14. --
  15.  
  16. INSERT INTO `swiatlo` (`id`, `R`, `G`, `B`) VALUES
  17. (1, 0, 0, 0);
  18.  

jak zabić aby przycisk on\of dodawał jeden albo zero do odpowiedniej tabeli w bazie mysql
Kshyhoo
Przenoszę do Przedszkola.
Temat wielokrotnie poruszany na Forum, więc mogłeś poszukać.
Przykład
avaster12
Nikt nie wie jak to zrobić
Turson
To stwierdzenie czy pytanie?
Tak czy inaczej dostałeś gotowca.
Kshyhoo
Na jak nikt nie wie? Dostałeś link do niemal gotowca, trzeba jedynie trochę pokombinować, ale zasada pozostaje ta sama.
avaster12
a możesz mi napisać jak zrobić nap coś takiego
mam 2 przyciski od id 1, drugi ma id 2

jak zrobić aby przycisk jeden dodał do bazy wartość 1 a przycisk dwa dodał 0

  1. if ($w=='stan') {
  2. $zapytanie = "UPDATE tabel SET stan=IF(stan='1', '0', '1') WHERE id=id";
  3. mysql_query($zapytanie);
  4. }
  5. if ($stan == 1) { $stan = '1'; $akcja = '0'; }
  6. if ($stan == 0) { $stan = '0'; $akcja = '1'; }
  7.  

z mojej logiki wynika to że przycisk o id $w doda mi stan 1, 0 albo 1 zależy co jest w bazie

Kshyhoo
Jeden input musi mieć wartość 1 a drugi 0, potem to przechwytujesz i wrzucasz w zapytanie.
avaster12
  1. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue On" onClick="relayOn1()"/>
  2. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue Off" onClick="relayOff1()"/><br>
  3.  
  4.  
  5. $w = (isset($_GET['w'])) ? mysql_real_escape_string($_GET['w']) : '';
  6.  
  7.  


submitOn submitOff
teraz nie wiem co mam dopisać
Kshyhoo
Cytat(Kshyhoo @ 24.04.2014, 20:28:19 ) *
Jeden input musi mieć wartość 1 a drugi 0, potem to przechwytujesz i wrzucasz w zapytanie.

Oczywiście wszystko zależy od Ciebie, jak to zrobisz. Podałem Ci tylko ideę. Pracuj samodzielnie... chyba umiesz przekazać dane z formularza do skryptu?
avaster12
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Remote control</title>
  6. <script type="text/javascript" src="script.js"></script>
  7. </head>
  8. <body>
  9. <center>
  10. <form id="relay" action="remote_relay.php" method="GET">
  11. <input type="button" name="On" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red On" <?php?> onClick="relayOn()"/>
  12. <input type="button" name="Off" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:red; font-size:40px;" value="Red Off" onClick="relayOff()"/><br><br>
  13. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue On" onClick="relayOn1()"/>
  14. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:blue; font-size:40px;" value="Blue Off" onClick="relayOff1()"/><br><br>
  15. <input type="button" id="submitOn" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green On" onClick="relayOn2()"/>
  16. <input type="button" id="submitOff" style="border:1px solid #000; color:#FFFFFF; background-color:green; font-size:40px;" value="Green Off" onClick="relayOff2()"/>
  17. <input type="hidden" name="total" id="total" value="">
  18. </form>
  19. </center>
  20. <?php
  21.  
  22. exec("gpio -g mode 4 out , gpio -g mode 17 out , gpio -g 27 out");
  23. $state = $_GET["total"];
  24.  
  25. if ($state == "on") {
  26. exec("gpio -g write 4 1");
  27. }
  28. if ($state == "off") {
  29. exec("gpio -g write 4 0");
  30. }
  31. if ($state == "on1") {
  32. exec("gpio -g write 17 1");
  33. }
  34. if ($state == "off1") {
  35. exec("gpio -g write 17 0");
  36. }
  37. if ($state == "on2") {
  38. exec("gpio -g write 27 1");
  39. }
  40. if ($state == "off2") {
  41. exec("gpio -g write 27 0");
  42. }
  43.  
  44.  
  45. require "concet.php";
  46. $status = mysql_query("SELECT * FROM swiatlo") or die("Zapytanie niepoprawne");
  47. $row = mysql_fetch_array($status);
  48. ?> <br>
  49. <br>
  50. <br>
  51. <br>
  52. <center><font size="5"; color="red"><?php
  53. echo $row['R'];
  54. ?></font>&nbsp;<font size="5"; color="green"><?php
  55. echo $row['G'];
  56. ?></font>&nbsp;<font size="5" color="blue"><?php
  57. echo $row['B'];
  58. ?></font></center>
  59. <br><br>
  60. <center>
  61. <article><h1>Web Light v1</h1>
  62. <footer>
  63. <p>Raspberry pi control. | Wszelkie prawa zastrzeżone</p>
  64. </footer>
  65. </article></center>
  66. </body>
  67. </html>

plik js
Kod
window.onload = function(){
    buttonOn = document.getElementById('submitOn');
    buttonOn.onClick = relayOn;
    
    buttonOff = document.getElementById('submitOff');
    buttonOff.onClick = relayOff;
}

function relayOn(){
    
    hidden = document.getElementById("total");
    hidden.value = "on";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}

function relayOn1(){
    
    hidden = document.getElementById("total");
    hidden.value = "on1";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}
function relayOn2(){
    
    hidden = document.getElementById("total");
    hidden.value = "on2";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}

function relayOff(){
    
    hidden = document.getElementById("total");
    hidden.value = "off";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}
function relayOff1(){
    
    hidden = document.getElementById("total");
    hidden.value = "off1";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}
function relayOff2(){
    
    hidden = document.getElementById("total");
    hidden.value = "off2";
    
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "remote_relay.php";
    form.submit();
}

nie wiem jak to zrobić a to jest cały kod strony
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.