Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Pyanie o UPDATE + SELECT
Forum PHP.pl > Forum > Przedszkole
nieznajomy
Witam,
Mam pytanie odnośnie UPDATE i SELECT w MySQL. Chodzi mi o to, aby przy aktualizacji rekordów w bazie dodawane liczby były wyświetlane na jednej z podstron. Obrazowo ma to wyglądać tak, że na jednej podstronie mam formularz, przez który dodaję dane z jednego meczu, które mają być wyświetlone na innej podstronie, ale mają być także dodane do statystyk, które już są w bazie, tak aby można było zsumować statystyki z kilkudziesięciu meczów.
Pozdrawiam
sadistic_son
Zapisuj w sesji wszystkie aktualne stany a nastepnie UPDATE. W sesji mozesz sobie zapisac ile tylko tego chcesz winksmiley.jpg
nieznajomy
A mógłbyś podać jakiś przykład, żebym wiedział mniej więcej jak mam się za to zabrać? Szczerze mówiąc, to jestem w tym temacie baaardzo początkujący smile.gif
Fifi209
http://pl2.php.net/manual/en/book.session.php

Zacznij od manuala.
sadistic_son
  1. //zmienne do zapisu do aktualizacji bazy
  2. $id=$_POST['id'];
  3. $wynik=$_POST['wynik'];
  4. $druzyny=$_POST['druzyny'];
  5. $stadion=$_POST['stadion'];
  6. //itd
  7. //zczytanie poprzednich wartosci zanim zapiszemy nowe
  8. $sql="SELECT * FROM mecze WHERE id=$id LIMIT 1";
  9. //zapisanie do sesji wartosci meczu przed aktualizacja danych
  10. $_SESSION['mecze']=mysql_result(mysql_query($sql),0);
  11.  
  12. //aktualizacja danych
  13. $sql="UPDATE mecze SET wynik='$wynik' , druzyny='$druzyny' , stadion='$stadion' WHERE id=$id";
Teraz w pliku gdzie chcesz wyswietlic dane z przed aktualizacji robisz np. tak:
  1. echo 'ID:'.$_SESSION['mecze'][0].'<br />Wynik:'.$_SESSION['mecze'][1].'<br />Druzyny:'.$_SESSION['mecze'][2]; //itd
Tylko pamietaj ze na samym poczatku kazdego pliku kozystajacego z sesji MUSI BYC session_startexclamation.gif
PS. Pisane z reki bez sprawdzania, ale powinno dzialac.
nieznajomy
Dziękuję za pomoc, jednak przyda mi się jej jeszcze trochę smile.gif

Mam coś takiego:
  1. <html>
  2. <head>
  3. <title>Dodawanie statystyk do bazy danych</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. </head>
  6. <body>
  7.  
  8. <?php
  9. $dbhost = '***';
  10. $dbuser = '***';
  11. $dbpass = '***';
  12. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  13. if(! $conn )
  14. {
  15. die('Nie mozna polaczyc sie z baza: ' . mysql_error());
  16. }
  17.  
  18. $retval = mysql_query( $sql, $conn );
  19. if(! $retval )
  20. {
  21. die('Nie mozna pobrac danych: ' . mysql_error());
  22. }
  23.  
  24.  
  25. $id=$_POST['id'];
  26. $c2=$_POST['c2'];
  27. $w2=$_POST['w2'];
  28. $c3=$_POST['c3'];
  29. $w3=$_POST['w3'];
  30. $c1=$_POST['c1'];
  31. $w1=$_POST['w1'];
  32. $zba=$_POST['zba'];
  33. $zbo=$_POST['zbo'];
  34. $zbs=$_POST['zbs'];
  35. $ast=$_POST['ast'];
  36. $prz=$_POST['prz'];
  37. $blk=$_POST['blk'];
  38. $str=$_POST['str'];
  39. $fl=$_POST['fl'];
  40. $pkt=$_POST['pkt'];
  41. $eval=$_POST['eval'];
  42.  
  43. $stat="SELECT * FROM kartofelki WHERE id=$id LIMIT 1";
  44.  
  45. $_SESSION['kartofelki']=mysql_result(mysql_query($stat),0);
  46.  
  47. $stat="UPDATE kartofelki SET id='$id' , c2='$c2' , w2='$w2' , c3='$c3' , w3='$w3' , c1='$c1' , w1='$w1' , zba='$zba' , zbo='$zbo' , zbs='$zbs' , ast='$ast' , prz='$prz' , blk='$blk' , str='$str' , fl='$fl' , pkt='$pkt' , eval='$eval' WHERE id=$id";
  48. mysql_query($stat);
  49.  
  50. </body>
  51. </html>

Dostosowałem wszystko do swoich potrzeb, tylko nie wiem, co mam zrobić, żeby te statystyki, które dodam pojawiły się na podstronie powiedzmy mecz1.php. Mógłby mi ktoś to w miarę dokładnie wytłumaczyć?
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.