Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Aktualizacja danych w tabeli
-jakisktos-
post
Post #1





Goście







Hej, nie mogę kurde zaktualizować danych do tabeli... Cały czas jak robię echo, to przed wysłaniem jest 0, a powinno być 1, bo chcę powiększyć o 1 przed wysłaniem do tabeli, bo z tabeli pobiera 0, zamieniam sobie na INT w razie czego, powiększam o 1 ale, po powiększeniu jest 0 nadal i nie wiem w czym jest błąd... oto mój kod:


  1. $ip = $_SERVER['REMOTE_ADDR'];
  2. echo $ip . '<br>';
  3. $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));
  4. $country_big = $ip_data->geoplugin_countryCode;
  5. echo $country_big . '<br>';
  6. $country_small = strtolower($country_big);
  7. echo $country_small . '<br>';
  8. $main_for_table = 1;
  9. $take_from_sql = "SELECT $country_small FROM table WHERE main='$main_for_table'";
  10. $country_from_table = mysqli_query($dbc, $take_from_sql);
  11. $row = mysqli_fetch_assoc($country_from_table);
  12. echo $row . '<br>';
  13. $row_country_data = $row[$country_small];
  14. echo $row_country_data . '<br>';
  15. $int_row_country_data = (int)$row_country_data;
  16. echo $int_row_country_data . '<br>';
  17. $row_final = $int_row_country_data++;
  18. echo $row_final . '<br>';
  19. $update_countrys_row = "UPDATE table SET $country_small='$row_final' WHERE main='$main_for_table'";
  20. $update_country_final = mysqli_query($dbc, $update_countrys_row);
  21. if(!$update_country_final)
  22. {
  23. echo 'coś jest nie tak';
  24. }
  25. else
  26. {
  27. echo 'zmieniło, brawo';
  28. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A dlaczego nie dasz:
  1. $row_final++;

I tego nie dasz do bazy?
Go to the top of the page
+Quote Post
-jakisktos-
post
Post #3





Goście







ale przecież $row_final = $int_row_country_data++; więc row_final powinien zawierać zwiększoną wartość int_row_country_data o jeden
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A masz taką nazwę tabeli?
$country_small
Go to the top of the page
+Quote Post
-jakisktos-
post
Post #5





Goście







Skrypt pobiera IP, sprawdza z jakiego kraju jesteś, pobiera iso kraju, zmienia iso z dużych liter na małe, bo w tabeli mam wiersze z kodami iso krajów.
No i np jeśli $country_small = "pl" to wtedy pobieram sobie ten wiersz z tabeli
$take_from_sql = "SELECT $country_small FROM table WHERE main='$main_for_table'";
pobieram zawartość, zamieniam na int, zwiększam o 1 i z w powrotem wrzucam do tabeli. Zmieniłem teraz zawartość wiersza na 5 i przed wysłaniem pokazuje mi 5, czyli ładnie łączy się z bazą, ale nie zwieksza o 1 przed wysłaniem (IMG:style_emoticons/default/sleep.gif) nie czaję...
Go to the top of the page
+Quote Post
-jakisktos-
post
Post #6





Goście







dobra, zrobiłem

  1. $row_final = ($int_row_country_data + 1);
Go to the top of the page
+Quote Post
YourFrog
post
Post #7





Grupa: Zarejestrowani
Postów: 124
Pomógł: 22
Dołączył: 10.01.2014

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


Tak na przyszłość dla wszystkich wypowiadających się w temacie

  1. <?php
  2.  
  3. $i = $j = 0;
  4.  
  5. echo $i++;
  6.  
  7. echo ++$j;
Go to the top of the page
+Quote Post

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: 22.08.2025 - 17:18