Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL][mintAjax] problem z dodanie wartosci do bazy
Forum PHP.pl > Forum > Przedszkole
slewin
Witam ,
zaczynam swoją przygodę z mintAjax i odrazu natrafilem na problem .
skorzystałem z gotowca na stronie http://mintajax.pl/Przewodnik/Obiekt-Request/ do wysyłania formularza .

Formularz ma 2 elementy , dwa pola radio o wartosciach "tak" i "nie" . stworzylem baze danych z polami id,tak,nie oraz skrypt który maił mi dodać , zwiększyć wartości pól "tak, nie" w bazie danych ,ale coś sknociłem .
Oto kod :
plik.html
  1. <script type="text/javascript" src="mintAjax.js"></script>
  2. function SendRequest() {
  3. var req = mint.Request();
  4. req.OnSuccess = function() {
  5. $("response").innerHTML = this.responseText;
  6. }
  7. req.SendForm("form");
  8. }
  9. <form id="form" method="POST" action="plik2.php">
  10. Wybór:
  11. <input name="radio" type="radio" value="tak" /> tak
  12. <input name="radio" type="radio" value="nie" /> nie
  13. </form>
  14. <div id="response"></div>
  15. <button onclick="SendRequest()">Wyślij formularz</button>


plik2.php
  1. <?php
  2. echo"<b>Twoj wybór: </b>{$_POST['radio']}<br>";
  3. $_POST['radio'] == $a;
  4. $dbhost = 'localhost'; //domyslnie jest localhost ale to zalezy do hostingu
  5. $dbuser = 'root'; // tutaj podajemy login do bazy danych
  6. $dbpass = ''; // tutaj podajemy nasze haslo do bazy
  7. $dbname = 'ajax'; // natomiast tutaj wpisujemy nazwe bazy danych
  8. //polaczenie
  9. $dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie moge połączyć sie z bazą danych. Przepraszamy z kłopoty');
  10. mysql_select_db ($dbname) or die ('Problemy z baza danych. Przepraszamy z kłopoty');
  11.  
  12. if ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  13.          foreach($rekord as $klucz => &$wartosc) {$wartosc = stripslashes($wartosc);}
  14. if ($a == 'tak') {
  15.                        $rekord['tak']++;
  16.                        $tak=$rekord['tak'];
  17.                        mysql_query("UPDATE ajax SET tak='$tak' WHERE id='1' ;"); }
  18. if ($a == 'nie') {
  19.                        $rekord['nie']++;
  20.                        $nie=$rekord['nie'];
  21.                        mysql_query("UPDATE ajax SET nie='$nie' WHERE id='1';");  } }
  22. ?>

Mój plan był taki : gdy zaznacze tak,nie to zwiększy mi wartość pola tak,nie o 1 ktoś wie co źle zrobiłem ?
erix
Ok, ale gdzie jest zmienna $wynik?

Poza tym, jeśli chcesz zwiększać wartość kolumny w bazie, nie musisz pobierać najpierw rekordu. Wystarczy jedno zapytanie:
  1. UPDATE ajax SET tak=tak+1 WHERE id=1
slewin
sciana.gif faktycznie zapomniałem o $wynik .
  1. <?php
  2. $wynik = mysql_query (&#092;"SELECT * FROM `ajax` WHERE `id`=1;\");
  3.          if ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  4.          foreach($rekord as $klucz => &$wartosc) {$wartosc = stripslashes($wartosc);}
  5. ?>

ale nawet gdy go wstawie to nic w bazie sie nie dzieje . To zrobilem w inaczej wywaliłem to co wyżej zostawilem tylko polaczenie oraz warunki z $a oraz uaktualnienie bazy to też nie bangla . ;/ .
erix
Ale po kiego grzyba Ci to wyciąganie danych z bazy...?

Przeczytaj drugą część mojego poprzedniego posta.
slewin
Poradziłęm sobie :
  1. <?php
  2. echo&#092;"Twoj wybór: {$_POST['radio']}
  3. &#092;";
  4. $dbhost = 'localhost'; //domyslnie jest localhost ale to zalezy do hostingu
  5. $dbuser = 'root'; // tutaj podajemy login do bazy danych
  6. $dbpass = ''; // tutaj podajemy nasze haslo do bazy
  7. $dbname = 'ajax'; // natomiast tutaj wpisujemy nazwe bazy danych
  8. //polaczenie
  9. $dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie moge połączyć sie z bazą danych. Przepraszamy z kłopoty');
  10. mysql_select_db ($dbname) or die ('Problemy z baza danych. Przepraszamy z kłopoty');
  11. if ($_POST['radio'] == 'tak') {                                    
  12.             mysql_query(&#092;"UPDATE ajax SET tak=tak+1 WHERE id=1 ;\");
  13.                        }
  14. if ($_POST['radio'] == 'nie') {
  15.             mysql_query (&#092;"UPDATE ajax SET nie=nie+1 WHERE id=1 ;\");
  16. }
  17. ?>


Zastanawiam się dlaczego gdy $_POST['radio'] == $a i warunkach dałem $a ==tak to nie działało questionmark.gif
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.