Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP]Dynamiczne odczytanie i zapisanie danej do MySQL
globalinfo
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


Witam,

Chciałbym odczytać dane z MySQL dla zmiennej
var count1 = 6;
Potem po zmianie wartości przez kliknięcie przycisku automatycznie uaktualnić wartość w bazie - nie bardzo wiem jak to ugryźć. sciana.gif

Kod
<script type="text/javascript">
        var count1 = 6;
        function GON1() { if( count1 <= 24){var el = document.getElementById('GON1'); el.innerHTML = count1++
  
        }}
         function GON12(){if( count1 >= 0){var el = document.getElementById('GON1'); el.innerHTML = count1--}}
</script>
  

<div style='position:absolute;margin: 30px 0 0 115px'>
<a href="#" onClick="GON1()"><div class='buttonUp'></div></a></div>

<div style='position:absolute;margin: 45px 0 0 120px'>
<h2> <p id="GON1"><? echo $count1; ?></p> </h2></div>

<div style='position:absolute;margin: 105px 0 0 115px'>
<a href="#" onClick="GON12()"><div class='buttonDown'></div></a></div>


Ten post edytował globalinfo 7.03.2017, 20:42:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
freewalker
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 4
Dołączył: 14.02.2015

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


Rozumiem, że wczytanie danych z MySQL przez PHP nie stanowi dla ciebie problemu i w zmiennej $count1 masz już pobraną wartość, i wypuszczasz wynik w HTML, który później chcesz modyfikować przez JS?
Aby z JS wrzucać do bazy, czy w ogóle komunikować się z plikami PHP polecam jQuery, przy pomocy którego zaimplementowanie takich rozwiązań to bajka;)
Puszczasz wtedy (przez jQuery) zmienną do pliku php, w którym zamieszczasz skrypt aktualizujący bazę, przy pomocy:

$.post("uaktualnianie_twojej_bazy.php", { nowawartosc: count1 });

Twój skrypt JS wyglądałby wtedy coś na miarę:

<script type="text/javascript">
$(document).ready(function(){

var count1 = 6;
function GON1(){
if( count1 <= 24){
var el = document.getElementById('GON1');
el.innerHTML = count1++;
$.post("uaktualnianie_twojej_bazy.php", { nowawartosc: count1 });
}
}
function GON12(){
if( count1 >= 0){
var el = document.getElementById('GON1');
el.innerHTML = count1--;
$.post("uaktualnianie_twojej_bazy.php", { nowawartosc: count1 });
}
}
});
</script>
Go to the top of the page
+Quote Post
globalinfo
post
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


Coś mi nie chce działać - przyciski nie działają.


Kod dla pliku uaktualnienie.php
Kod
<?php
    // Connect to MySQL
    include("dbconnect.php");
if(isset($_POST['count1'])){
echo ($_POST['count1']);
$count1=$_POST['count1'];
echo $count1;
$zapytanie = "UPDATE `Sterowanie` SET `GON1`='.$count1.' WHERE `ID`='1'";
$idzapytania = mysql_query($zapytanie);
}
?>


A tu kod jaki mi mam na stronie, który obsługuje przyciski dla ustawienia ON.
Kod
<script type="text/javascript">
$(document).ready(function(){

var count1 = 6;
function GON1(){
if( count1 <= 24){
var el = document.getElementById('GON1');
el.innerHTML = count1++;
$.post("uaktualnienie.php", { nowawartosc: count1 });
}
}
function GON12(){
if( count1 >= 0){
var el = document.getElementById('GON1');
el.innerHTML = count1--;
$.post("uaktualnienie.php", { nowawartosc: count1 });
}
}
}</script>
<script type="text/javascript">


Ten post edytował globalinfo 8.03.2017, 10:42:48
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Postem slesz:

nowawartosc: count1

A potem w php radosnie sprawdzasz
if(isset($_POST['count1'])

naprawde nie widzisz ze postem slesz index o nazwie "nowawartosc" a nie "count1" ?
Poza tym naprawde tak ciezko zrobic

print_r($_POST);

by sprawdzic co idzie tym postem?


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

"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
globalinfo
post
Post #5





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


A dlaczego przyciski nie zwiększają lub nie zmniejszają wartości po wstawieniu
$.post("uaktualnienie.php", { nowawartosc: count1 }); questionmark.gif
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




No przeciez ci napisalem:
w kodzie php twoj warunek nigdy nie jest spelniony wiec to co jest wewnatrz IF nigdy sie nie wykonuje...


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

"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
viking
post
Post #7





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

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


A gdzie masz callback który to robi po zakończeniu żądania ajaksowego?


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




zas jesli pytasz o kod js to nie:
el.innerHTML = count1++;
a:
el.innerHTML = ++count1;


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

"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
globalinfo
post
Post #9





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


Cytat(nospor @ 8.03.2017, 12:04:02 ) *
zas jesli pytasz o kod js to nie:
el.innerHTML = count1++;
a:
el.innerHTML = ++count1;


Zamieniłem ++ i -- ale dalej nie działa zmiana wartosci.
Jakie znaczenie ma czy warunek się wykonał w uaktualnienie.php
przecież ten plik jak się wykonuje to nie powinien wpływać na wartość w wykonywanym skrypcie.
Według mnie coś jest nie tak bo jak usunę
$(document).ready(function(){
i
$.post("uaktualnienie.php", { nowawartosc: count1 });
to wartości licznika mi się zmieniają.

Ten post edytował globalinfo 8.03.2017, 13:34:08
Go to the top of the page
+Quote Post
viking
post
Post #10





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

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


A jaki ma sens inkrementowanie licznika jeśli ta wartość nigdzie nie zostala zapisana?


--------------------
Go to the top of the page
+Quote Post
globalinfo
post
Post #11





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


Cytat(viking @ 8.03.2017, 13:37:00 ) *
A jaki ma sens inkrementowanie licznika jeśli ta wartość nigdzie nie zostala zapisana?

uaktualnienie.php będzie służyło do uaktualnienia 24 liczników więc sprawdzenie czy w POST zawiera sprawdzaną zmienną według mnie powinien być.
Go to the top of the page
+Quote Post
nospor
post
Post #12





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




Wywal samo
$(document).ready(function(){
gdyz przez to funkcje GON1 sa poza zasiegiem

Cytat
więc sprawdzenie czy w POST zawiera sprawdzaną zmienną według mnie powinien być.
Ja ci nie kazalem usuwac IF. Ja ci mowie, ze twoj warunek w IF na chwile obecna jest zly. Staraj sie czytaz ze zrozumieniem


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

"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
globalinfo
post
Post #13





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


Poprawiłem i wartość licznika mi się zwiększa,
ale w bazie dane są nieuaktualnione.
Kod
<script type="text/javascript">
function GON1(){
if( count1 <= 24){
var el = document.getElementById('GON1');
el.innerHTML = ++count1;
$.post("uaktualnienie.php", { count1: count1 });
}
}
function GON12(){
if( count1 >= 0){
var el = document.getElementById('GON1');
el.innerHTML = --count1;
$.post("uaktualnienie.php", { count1: count1 });
}
}
</script>

Plik uaktualnienie.php tak wygląda
Kod
<?php
    // Connect to MySQL
    include("dbconnect.php");
if(isset($_POST['count1'])){
echo ($_POST['count1']);
$count1=$_POST['count1'];
echo $count1;
$zapytanie = "UPDATE `Sterowanie` SET `GON1`='.$count1.' WHERE `ID`='1'";
$idzapytania = mysql_query($zapytanie);
}
print_r($_POST);
?>



Go to the top of the page
+Quote Post
nospor
post
Post #14





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




nie:
"UPDATE `Sterowanie` SET `GON1`='.$count1.' WHERE `ID`='1'";

a:
"UPDATE `Sterowanie` SET `GON1`=$count1 WHERE `ID`='1'";



Wlacz wkoncu wyswietlanie bledow, wyswietlaj bledy zapytan, sprawdzaj co zwraca ci AJAX.


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

"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
globalinfo
post
Post #15





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


Po kliknięciu otrzymuję komunikat w debug:
Cytat
kontrol.php:94 Uncaught ReferenceError: $ is not defined
at GON1 (kontrol.php:94)
at HTMLAnchorElement.onclick (VM105 kontrol.php:279)
GON1 @ kontrol.php:94
onclick @ VM105 kontrol.php:279



Ten post edytował globalinfo 8.03.2017, 19:06:27
Go to the top of the page
+Quote Post
nospor
post
Post #16





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




a jQuery dodales? Bo wg. komunikatu nie.


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

"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
globalinfo
post
Post #17





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 8.10.2006

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


Cytat(nospor @ 8.03.2017, 19:20:28 ) *
a jQuery dodales? Bo wg. komunikatu nie.

Wielkie dzięki
DZIAŁA SUPER thumbsupsmileyanim.gif yahoo.gif
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 Aktualny czas: 21.08.2025 - 12:07