Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sprawdzanie w loginów przy rejestracji, Sprawdzanie w pętli wolnego loginu
nordi
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 26.09.2006

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


Witam, pisze właśnie skrypt który autmoatycznie doda klientów z pliku XML, plik już ropzpracowałem i wyciągnałem sobie w pętli wszystkie rekordy, funkcja zapisu danych już działa ale mój problem kryje się w podwójnych loginach, dla przykładu dodając jakiegoś klienta moze się zdarzyć ze w bazie mam już login 'ania' więc sprawdzam zapytaniem

$query="SELECT login FROM users where login='$login'";
$result=mysql_query($query);

...itd

Jeżeli użytwkonik o loginie ania istnieje chciałbym aby dodał on login do bazy o nazwie ania1.

Jednak chodzi mi o taką pętle która bedzie sprawdzac czy ania istnieje jezeli istnieje to sprawdza czy ania1 istnieje jezeli ania1 istnieje sprawdza czy ania2 istnieje jezeli tak to sparwdzania ania3, jezeli wreszcie napotka ze np. ania4 nie ma w bazie dopiero go zapisuje...

Z góry wielkie dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bendi
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


A może zamiast pętli zarzucisz sobie na klucz unikalny na pole login + num (AUTOINCREMENT) i login będzie stanowił połączenie tych dwóch pól - dzięki temu nie będziesz muisał żadnej pętli robić, a kolejne numerki będą się "same" dodawały.

Przykładowy kod:
  1. CREATE TABLE: CREATE TABLE `buu` (
  2. `costam` varchar(200) DEFAULT NULL,
  3. `name` varchar(200) DEFAULT NULL,
  4. `num` int(11) NOT NULL AUTO_INCREMENT,
  5. UNIQUE KEY `name` (`name`,`num`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1


  1. INSERT INTO buu (costam,name) VALUES( 'costam1', 'costam');
  2. INSERT INTO buu (costam,name) VALUES( 'costamjeszcze1', 'costamjeszcze');
  3. INSERT INTO buu (costam,name) VALUES( 'costam2', 'costam');
  4. INSERT INTO buu (costam,name) VALUES( 'costamjeszcze2', 'costamjeszcze');
  5. INSERT INTO buu (costam,name) VALUES( 'costam3', 'costam');
  6. INSERT INTO buu (costam,name) VALUES( 'costamjeszcze3', 'costamjeszcze');


Co nam daje:
Kod
mysql> select * from buu;
+----------------+---------------+-----+
| costam         | name          | num |
+----------------+---------------+-----+
| costam1        | costam        |   1 |
| costam1        | costam        |   2 |
| costam3        | costam        |   3 |
| costamjeszcze1 | costamjeszcze |   1 |
| costamjeszcze2 | costamjeszcze |   2 |
| costamjeszcze3 | costamjeszcze |   3 |
+----------------+---------------+-----+
6 rows in set (0.00 sec)


Później logowanie może wyglądać tak:
  1. SET @login = 'wartosc_z_zewnatrz';SELECT * FROM buu WHERE CONCAT( name, num ) = @login;
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: 23.10.2026 - 13:37