Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Aktualizacja danych w tabeli
Forum PHP.pl > Forum > Przedszkole
jakisktos
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. }
Kshyhoo
A dlaczego nie dasz:
  1. $row_final++;

I tego nie dasz do bazy?
jakisktos
ale przecież $row_final = $int_row_country_data++; więc row_final powinien zawierać zwiększoną wartość int_row_country_data o jeden
Kshyhoo
A masz taką nazwę tabeli?
$country_small
jakisktos
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 sleep.gif nie czaję...
jakisktos
dobra, zrobiłem

  1. $row_final = ($int_row_country_data + 1);
YourFrog
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;
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.