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
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


a nie powinno jeszcze być:
  1. <?php
  2. // zamiast
  3. $wolne_id = dbrows($sprawdz_w_bazie);
  4. // coś w stylu
  5. $wolne_id = count(dbrows($sprawdz_w_bazie));
  6. //albo
  7. $wolne_id = dbrows($sprawdz_w_bazie)[0][0];
  8. ?>

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
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: 2.10.2025 - 20:22