Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Naliczanie w wielu tabelach
Forum PHP.pl > Forum > Bazy danych > MySQL
Mielech
Temat może trochę niejasny, ale zaraz w przykładzie wszystko zrozumiecie (mam nadzieję;)
  1. <?php
  2.  
  3. $user='zygmunt';
  4. $tabela_mysql='historia';
  5.  
  6. $czytaj_kat = mysql_query("SELECT stats.".$tabela_mysql.",autorzy.id FROM stats,autorzy WHERE autorzy.autor='".$user."'");
  7. $aktualne_kat = mysql_fetch_array($czytaj_kat);
  8. $aktualne_kat[0]++;
  9. $dodaj_kat = mysql_query("UPDATE stats SET ".$tabela_mysql."=".$aktualne_kat[0]." WHERE id=".$aktualne_kat[1]);
  10.  
  11. ?>


Teraz tłumaczę.
Jest to skrypt naliczania ilości odwiedzin - w tym wypadku "Historia".
ID w tabeli "autorzy" jest takie samo jak w tabeli "stats".

Efekt:
kiedy daję echo:
$aktualne_kat[0] - wyświetla 1
$aktualne_kat[1] - wyświetla prawidłowe ID (zygmunt ma 11:P)

Niedziałnie:
Nalicza się raz - i zapisuje do tabeli stats - jako 1.
Następne wejścia nie dodają 1 - tak jak powinny. Czyli cały czas mamy 1 w stats.
$aktualne_kat[0] - wyświetla 1 - w dalszym ciągu wyświetla 1

Dziwota:
Dlaczego nie nalicza dalej, tak jak powinno?questionmark.gifquestionmark.gif? Przypominam, że za pierwszym razem naliczył i zapisał w stats. - więc UPDATE działa - Więc co??

Doszedłem do tego, że on po prostu nie łapie $aktualne_kat[0] - ale dlaczego?
Łapie autorzy.id a nie łapie stats.historia questionmark.gif

Help me:D

Pozdro
spenalzo
Cytat(Mielech @ 2006-03-19 13:37:24)
  1. <?php
  2. $dodaj_kat = mysql_query("UPDATE stats SET ".$tabela_mysql."=".$aktualne_kat[0]." WHERE id=".$aktualne_kat[1]);
  3. ?>

Chyba to jest nie tak tongue.gif Pza tym temat bardziej na php niż mysql
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.