Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Aktualizacja rekordów z kilkoma warunkami
Beniooo
post
Post #1





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Cześć, chce zrobić aktualizacje rekordu `online` na 0 w każdym z pobranych pól, tzn, żeby tak gdzie numer jest w tabeli, żeby tam aktualizowało
Napisałem taki skrypt lecz nie działa, tzn nie zmienia rekordu

  1. $ki_time = $time - 600;
  2.  
  3. $ki_userr = $db->query("SELECT * FROM `czatter` WHERE `online` = 1 and `time` < {$ki_time}"); // zapytanie
  4. while($nr_userr = $ki_userr->fetch_assoc()) // lista nr'ow zalogowanych
  5. $ki_nr[] = $nr_userr['nr']; // krotsza wersja
  6.  
  7.  
  8. $liczba_i = count($ki_nr);
  9. for($i=0;$i<$liczba_i;$i++){
  10. $kiii = $ki_nr[$i];
  11. $db->query("UPDATE `czatter` SET `online` = 0 WHERE `nr`= '{$kiii}''");
  12. }


Ten post edytował Beniooo 31.08.2012, 14:09:06
Go to the top of the page
+Quote Post
zamper
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 17
Dołączył: 11.12.2010
Skąd: Częstochowa

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


  1. echo "SELECT * FROM `czatter` WHERE `online` = 1 and `time` < {$ki_time}";
  2. // i
  3. echo "UPDATE `czatter` SET `online` = 0 WHERE `nr`= '{$kiii}''";

Wklep sobie to zapytanie co ci wyechowało bezpośrednio do konsoli MySQL albo PMA i patrz co jest źle, a jest źle (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
jacobson
post
Post #3





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


a sprobuj moze tak ?

$db->query("UPDATE `czatter` SET `online` = 0 WHERE `nr`= ".$kiii);
Go to the top of the page
+Quote Post
Beniooo
post
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


jacobson, jeśli zrobie tak to w jednym zapytaniu całą tablice Wklepie, więc zapytanie zadziała? (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
czychacz
post
Post #5





Grupa: Zarejestrowani
Postów: 189
Pomógł: 13
Dołączył: 20.09.2008
Skąd: Lublin

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


  1. UPDATE `czatter` SET `online` = 0 WHERE `online` = 1 AND `time` < {$ki_time}

lol
Go to the top of the page
+Quote Post
alegorn
post
Post #6





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


jesli masz wykonywac jakiekolwiek zapytanie do mysql w petli - ZASTANOW SIE
najprawdopodobniej robisz to zle.

mozna to prosciej i szybciej:

  1. UPDATE `czatter` SET `online` = 0 WHERE `nr`IN (tu,kolejne,nr,id)




j.
Go to the top of the page
+Quote Post
czychacz
post
Post #7





Grupa: Zarejestrowani
Postów: 189
Pomógł: 13
Dołączył: 20.09.2008
Skąd: Lublin

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


@up: po grzyba w ogóle dawać id, które i tak pobiera w poprzednim zapytaniu, skoro można to zrobić w jednym, a nie w dwóch? lol
Go to the top of the page
+Quote Post
alegorn
post
Post #8





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


@up bo moze tego potrzebowac gdzies dalej w skrypcie, nie wnikam, skoro pobiera - widac potrzebuje (IMG:style_emoticons/default/wink.gif)

j.
Go to the top of the page
+Quote Post
Beniooo
post
Post #9





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


czychacz, no tak
  1. UPDATE `czatter` SET `online` = 0 WHERE `online` = 1 AND `time` < {$ki_time}

To wystarczy (IMG:style_emoticons/default/biggrin.gif)
Dzięki Ci, wielki jesteś (IMG:style_emoticons/default/biggrin.gif)
Mnie jakoś to do głowy nie wpadło (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Beniooo 31.08.2012, 15:08:09
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: 21.12.2025 - 23:25