Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql/php] Operacje na tabelach
Forum PHP.pl > Forum > Bazy danych > MySQL
Lethys
Robie skrypt wyswietlen osob online :

  1. <?php
  2. if(!($stat['id']==0))
  3. {
  4. $ip=$_SERVER['REMOTE_ADDR']; // pobieranie ip od usera
  5. $id=$stat['id']; //id uzytkownika (w moim przypadku wedlug rejestracji [nadane id])
  6. $czas = time();
  7.  
  8. $pytanie=mysql_query("SELECT * FROM online WHERE id='$stat[id]' ");
  9. $czyjest=mysql_num_rows($pytanie);
  10. if($czyjest==1) //sprawdzanie czy uzytkownik jest juz w tabeli licznika
  11. {
  12. mysql_query("UPDATE online SET (data='$czas') WHERE id='$stat[id]' "); //jezeli tak to nadpisujemy rekord
  13.  
  14. }
  15. else
  16. {
  17. mysql_query("INSERT INTO online (id, ip, data) VALUES('$id', '$ip', '$czas')"); //jezeli tak to dodajemy rekord
  18. }
  19.  
  20. }
  21.  
  22.  
  23.  
  24.  
  25.  
  26. $stat = mysql_fetch_array(mysql_query("select * from players where user='$user' and pass='$pass'"));
  27.  
  28. $ip=$_SERVER['REMOTE_ADDR']; // pobieranie ip od usera
  29. $id=$stat['id']; //id uzytkownika (w moim przypadku wedlug rejestracji [nadane id])
  30. $czas = time();
  31. $czas_minuta = time()-60;
  32. $query = @mysql_num_rows(mysql_query("SELECT id FROM `online` WHERE `data` < $czas AND `data` > $czas_minuta"));
  33.  
  34.  
  35. print "Online : $query ";
  36. ?>



I problem w tym ze wcale nie updatuje danych sad.gif

  1. <?php
  2. mysql_query("UPDATE online SET (data='$czas') WHERE id='$stat[id]' "); //jezeli tak to nadpisujemy rekord
  3. ?>


A jezeli nie ma takiego wpisuje jeszcze w bazie to dodaje bez problemu ale nie chce updatowac sad.gif
nevt
popraw w SELECT i UPDATE
  1. ... WHERE id='$id';

i będzie ok... powodzenia.
Lethys
Nie działa jest to samo co było sad.gif

Po prostu sie nie Updatuje a jak skasuje wpis online z bazy danych to wtedy skrypt dodaje i działa no ale to musi sie updatować ;/
phpion
Przed wykonaniem UPDATE daj sobie np. die("dupa"); i zobacz czy Ci się wyświetla ten napis. Jeśli nie to znaczy, że w ogóle nie wchodzi do tego fragmentu kodu; jeśli się wyświetla to zmień zapytanie na:
  1. <?php
  2. mysql_query("UPDATE `online` SET `data`=".$czas." WHERE id=".$stat['id']);
  3. ?>
Lethys
@up

Wyswietla sie dupa tongue.gif ale skrypt i tak nie dziala , dalej nie updatuje sciana.gif
nevt
masz jeszcze jeden błąd - data to wyraz zastrzeżony w MySQL, zmień zapytanie na:
  1. UPDATE online SET (`data`='$czas') WHERE id='$id';

powodzenia...
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.