Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dlaczego ta pętla (for) nie działa?, Po prostu nic nie robi...
Ripper
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 16.06.2008

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


Witam,

Tworzę skrypt i mam takie pytanko, otóż mam taką pętlę for:
  1. <?php
  2. $wolne_id = 1;
  3. for ($sprawdzane_id = 1; $wolne_id = 0; ++$sprawdzane_id) {
  4. $sprawdz_w_bazie = dbquery("SELECT 1 FROM ".$db_prefix."users WHERE id='".$sprawdzane_id."'");
  5. $wolne_id = dbrows($sprawdz_w_bazie);
  6. }
  7. ?>


Kod ma sprawdzać ile jest wyników w bazie danych (tabeli ...users) o danym id i zapisywać je do zmiennej $wolne_id, jeżeli nie będzie żadnego wyniku to $wolne_id = 0 i skrypt powinien się zatrzymać, a ja powinienem otrzymać i zmienną $wolne_id (która mi się nie przyda) i zmienną $sprawdzane_id kiedy $wolne_id wynosi 0 (będzie to id nowego usera rejestrującego się na stronie). Mógłbym równie dobrze zrobić, żeby liczyło userów i dodawalo usera o id wyższym niż jest, ale wtedy dublowaly by się id po usunięciu kogoś. funkcja dbquery i dbrows jest dobra gdyż używałem jej wiele razy wcześniej i działała (ma na celu to co w nazwie ;P), baza danych też jest odpowiednio przedstawiona... Co może być źle, aby znajdywało mi id, którego nie ma jeszcze w tabeli coś_users?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nithajasz
post
Post #2





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

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


Cytat
pętla ma po prostu zdobywać najmniejszy wolny id, który nie został użyty w bazi danych, dla nowego usera, który będzie się rejestrował.


Moim zdaniem to jest złe rozwiązanie. Chyba, że w bazie przetrzymujesz jedynie userów i nic z nimi nie wiążesz, np jakiś komentarzy czy postów (lub przez nick co też mi się nigdy nie podobało). Ale to tylko taka moja mała uwaga.
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 07:58