Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Rangi na stronie
Johnas
post 8.07.2010, 21:28:36
Post #1





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Witam! Zastanawiam się jak zrobić rangi worriedsmiley.gif Więc tak:
Zapytanie do sql
  1. CREATE TABLE `rangi` (
  2. `id_rangi` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `administrator` VARCHAR(100) NOT NULL,
  4. `moderator` VARCHAR(100) NOT NULL,
  5. `użytkownik` VARCHAR(30) NOT NULL,
  6. PRIMARY KEY (`id_rangi`)
  7. )
  8. ENGINE=MyISAM DEFAULT CHARACTER SET latin1
  9. COLLATE latin1_general_cs AUTO_INCREMENT=0;


Nie wiem czy dobrze napisałem ale wywołanie sie wykonało...

I teraz nie wiem jak połączyć tabele rejestracja z rangi. Przepraszam że was tu męczę wstydnis.gif Za pomoc dziękuje


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
john_doe
post 8.07.2010, 21:49:17
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


w tabeli użytkowników dajesz klucz obcy, którym jest id_rangi i łączysz te dwie tabele po tym właśnie polu
Go to the top of the page
+Quote Post
Johnas
post 8.07.2010, 22:12:54
Post #3





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


można jakiś przykład?
Dodalem:
Kod
ALTER TABLE 'rejestracja' ADD 'id_rangi' primary key;


Ten post edytował Jonek_1993 8.07.2010, 22:23:38


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
john_doe
post 8.07.2010, 22:26:05
Post #4





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


przerobiłbym tabelkę rangi na taką

id_rangi
nazwa_rangi

np. tabela users składająca się z pól

user_id
user_login
user_name
user_surname
user_password
id_rangi -- to pole jest kluczem obcym

i teraz dajesz selecta
  1. SELECT user_login, user_name, user_surname, nazwa_rangi
  2. FROM users JOIN rangi ON users.id_rangi = rangi.id_rangi


i takie coś zwróci Ci użytkownika z przypisaną mu rangą
Go to the top of the page
+Quote Post
Johnas
post 8.07.2010, 22:45:38
Post #5





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Dobra już wiem o co chodzi. Zrobię tak jak mówisz ale jak mam zrobić aby podczas rejestracji dawało domyślna rangę użytkownik?


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
john_doe
post 8.07.2010, 22:48:48
Post #6





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


jonek podczas rejestracji dajesz insert do bazy do tabeli users i w miejsce kolumny gdzie jest ranga dajesz na sztywno numer rangi do której przyporządkowany jest użytkownik
Go to the top of the page
+Quote Post
Johnas
post 9.07.2010, 20:40:26
Post #7





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Dzięki za pomoc. Jutro na komputerze zobaczę czy coś z tego wyjdzie. Jak by co to napisze.

Witam zrobiłem takie zapytania:
User:
  1. CREATE TABLE `rejestracja` (
  2. `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `imie` VARCHAR(100) NOT NULL,
  4. `nazwisko` VARCHAR(100) NOT NULL,
  5. `login` VARCHAR(30) NOT NULL,
  6. `haslo` VARCHAR(50) NOT NULL,
  7. `email` VARCHAR(100) NOT NULL,
  8. `kod` VARCHAR(32) NOT NULL,
  9. `data` DATETIME NOT NULL,
  10. `status` TINYINT(1) DEFAULT 0,
  11.  
  12. PRIMARY KEY (`id`)
  13. )
  14. ENGINE=MyISAM DEFAULT CHARACTER SET latin1
  15. COLLATE latin1_general_cs AUTO_INCREMENT=0;

Rangi:
  1. CREATE TABLE `rangi` (
  2. `id_rangi` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `nazwa_rangi` VARCHAR(100) NOT NULL,
  4.  
  5.  
  6. PRIMARY KEY (`id_rangi`)
  7. )
  8. ENGINE=MyISAM DEFAULT CHARACTER SET latin1
  9. COLLATE latin1_general_cs AUTO_INCREMENT=0

Select:
  1. SELECT *
  2. FROM rangi, rejestracja WHERE id_rangi = id


Wiem teraz że to jest trochę źle bo powinno być w tabeli rejestracja jeszcze jedna struktura o nazwie id_rangi i powinna mieć wartość PRIMARY KEY. Jak mam zrobić alter table?


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
muk4
post 9.07.2010, 21:14:40
Post #8





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


  1. ALTER TABLE `rejestracja` ADD `id_rangi` INT


Nie możesz mieć 2 kluczy PRIMARY w jednej tabeli, a widzę że id już posiada ten klucz.

Poza tym, po co robisz dodatkową tabelę z rangami. Wystarczy że do tabeli rejestracja dodasz pole `ranga` i tam będzie np. 0, 1, 2, 3.
Nazwy rang zapisz sobie do tablicy w php w pliku który zawsze includujesz np jakiś config, gdzie są trzymane dane do połączenia z bazą.
i potem robisz $tablica[0] i wartość: Administrator.

PS. Polecam PhpMyAdmin do zarządzania bazą MySQL
http://www.phpmyadmin.net/

Ten post edytował muk4 9.07.2010, 21:18:58
Go to the top of the page
+Quote Post
Johnas
post 16.07.2010, 18:22:15
Post #9





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Udało mi się... Dziękuje ekipie forum winksmiley.jpg To jest moje najlepsze forum. Podziękowania wielkie dla was winksmiley.jpg Na razie mój skrypt którym się zajmuje jest na bezpłatnym hostingu http://youphoto.za.pl ale linki i opis stronki nie ma nic wspólnego z tematyką strony. Na razie piszę aby się nauczyć czegoś. DZIĘKUJE WAM Z CALEGO SERCA. Pozdrawiam Jonek


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2024 - 23:05