Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przewinięcie strony po odświeżeniu
gucio1
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Witam,
mam listę ok 1000 wierszy na jednej stronie.
W każdym wierszu znajduje się input i button.
Jadę w dół scrolem wybieram wiersz nr 435 wysyłam wpisane dane w konkretnym wierszu strona się przeładowuje i chcę po odświeżeniu być w tym samym miejscu strony na wierszu 435.

Jakiej funkcji do tego użyć i w JS mam odwołać się do diva, klasy,id czy jakiejś sekcji?
Pozdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gucio1
post
Post #2





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Mam kolejny problem, chcę wyciągać kolejno wartości produktów z bazy danych i do każdy z osobna ma obsługiwać ajax. Czyli wszystkie ceny maja aktualizować się bez odświeżania.

To mój plik gdzie wywołuje formularze dla każdego produktu
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  6. <script>
  7. $(function() {
  8. $('#userdelete').on('submit', function(event) {
  9. event.preventDefault();
  10.  
  11. $.ajax({
  12. url: "formularz3.php",
  13. method: "POST",
  14. data: $(this).serialize()
  15. })
  16. .done(function(data, textStatus, jqXHR) {
  17. var zm = data.idProduktu;
  18. $('#message'+zm).html(data.message);
  19. })
  20. .fail(function(jqXHR, textStatus, errorThrown) {
  21. $('#message'+zm).html(jqXHR.responseJSON.message);
  22. });
  23. });
  24. });
  25. </script>
  26. </head>
  27. <body>
  28. <?php
  29. require_once 'connectKlasa.php';
  30. $con = new Connect();
  31. $connect = new mysqli($con->host, $con->db_user, $con->db_password, $con->db_name);
  32. $down = $connect->query("SELECT * FROM shop WHERE liczbaZdj ='2'");
  33. while($row = $down->fetch_assoc()){
  34. echo '<div id="message'. $row['idProduktu'].'">'. $row['cena'].'</div>
  35. <form action="POST" id="changePrice">
  36. <input type="text" name="cena">
  37. <input type="hidden" name="idProduktu" value="'. $row['idProduktu'].'">
  38. <input type="submit">
  39. </form><br><br>';
  40. }
  41. ?>
  42. </body>
  43. </html>


Wysyłam id produktu oraz nową cenę
W drugim pliku:
  1. <?php
  2.  
  3. header("Content-Type: application/json;charset=utf-8");
  4.  
  5. $cena = $_POST['cena'];
  6. $idProduktu = $_POST['idProduktu'];
  7.  
  8. if (is_numeric($cena)) {
  9.  
  10. require_once 'connect.php';
  11. $con = new Connect();
  12. $connect = new mysqli($con->host, $con->db_user, $con->db_password, $con->db_name);
  13. $connect->query("UPDATE shop SET cena='$cena' WHERE idProduktu='$idProduktu'");
  14. echo json_encode([
  15. 'message' => sprintf($cena),
  16. 'idProduktu' => $idProduktu
  17. ]);
  18. } else {
  19. echo json_encode([
  20. 'message' => sprintf("Złe dane"),
  21. 'idProduktu' => $idProduktu
  22. ]);
  23. }


Aktualizuje cenę w bazie i chce zwrócić nowe ceny, problem w tym że pierwszy rekord działa jak należy a następne zwracają mi dane w adresie i tak jakby nie były odbierane przez drugi plik.
Wydaje mi się że muszę przekazać idProduktu na początku skryptu z pierwszego pliku i każdy formularz nazwać changePrice'.$idProduktu żeby skrypt wiedział do którego formularza się odwołać.
Jak to zrobić? Uruchamiać skrypt on clickiem w tym wypadku w ogóle jest taka możliwość? Pomożecie? (IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post

Posty w temacie
- gucio1   Przewinięcie strony po odświeżeniu   12.10.2017, 12:32:15
- - trueblue   Jeśli sekcja ma id=sekcja400, to po zapisaniu prze...   12.10.2017, 12:35:21
- - gucio1   A jeśli każdy wiersz to element tabeli?   12.10.2017, 12:40:20
- - viking   id możesz dowolnemu elementowi przypisać. Chociaż ...   12.10.2017, 12:41:35
- - gucio1   Aa czaje. Ok już mi przenosi na odpowiednie id po ...   12.10.2017, 12:50:41
- - viking   https://prophp.pl/advice/show/20/pierwsze_k..._i_c...   12.10.2017, 12:55:05
- - gucio1   Dobra.. zaraz potestuje tego Ajaxa na prostym fo...   12.10.2017, 13:03:10
- - viking   To jest takie proste, ewentualnie jeszcze prostsze...   12.10.2017, 13:06:06
- - gucio1   Czyli zamiast wysyłać coś przez formularz to wysył...   12.10.2017, 13:22:21
- - trueblue   Cytat(gucio1 @ 12.10.2017, 13:50:41 )...   12.10.2017, 13:32:33
- - viking   Dokładnie tak, to jest tylko iny sposób przesłania...   12.10.2017, 13:38:41
- - gucio1   Opanowałem wpisywanie do bazy bez przeładowania st...   12.10.2017, 18:00:50
- - viking   $('#twoj_div').html(data.message);   12.10.2017, 19:24:45
- - gucio1   Mam kolejny problem, chcę wyciągać kolejno wartośc...   13.10.2017, 11:37:35
- - viking   Podpiąłeś pod konkretne id więc działa dla tego id...   13.10.2017, 11:51:58
- - gucio1   Znaczy wydaje mi się że formularzem wysyłam za każ...   13.10.2017, 12:11:03
- - viking   Powtórzę jeszcze raz. Delegacja zdarzeń. Poczytaj ...   13.10.2017, 12:18:38
- - gucio1   O masz wystarczyło odwoływać się do formularza o j...   16.10.2017, 12:24:08


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: 28.12.2025 - 11:50