Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] system znajomych, aktualnie przegladanie
Forum PHP.pl > Forum > Przedszkole
stckydude
witam!
mam zrobiona prosta rejestracje na blogu i chcialbym to rozbudowac dodajac pare rzeczy

system znajomych
jak to zrobic w bazie danych, zeby bylo najlepiej?
mam cos takiego:

Kod
id
name
pass

i teraz mam po prostu zrobic pole FRIENDS i tam np oddzielajac przecinkiem dodawac ID znajomych? czy moze osobna tabela? ale wtedy tego duzo wyjdzie.. jak to najlepiej rozwiazac? poza tym wczesniej musialoby byc jakies potwierdzenie z dwoch stron, ze znajomymi sie jest jak sie zaakceptuje, wiec chyba tez osobna tabela

2 pytanie to przegladanie aktualnego artykulu.
a tutaj co? zrobic osobna tabele z historia? jak ktos wejdzie do jakiegos artykulu to w tabeli Historia zapisze sie jego id i id artykulu? tylko jak bede mial 100 uzytkownikow i kazdy zacznie wchodzic to chyba zamuli baze, wiec moze jakos inaczej to mozna?
phpion
Dla obu przypadków: zdecydowanie osobne tabele.
stckydude
a moglbys napisac jakby to mialo wtedy wygladac?
np ze znajomymi. mam zrobic dwa pola z ID userow? a potem SQL sprawdzac czy sa takie powiazania? bo kompletnie nie wiem jak sie zabrac do tego
stckydude
ale z tego co widze to tam jakies bledy sa, wolalabym to sam jakos od podstaw napisac, dlatego pytam jak najlepiej zrobic do tego baze

ta osobna baza jak ma wygladac?
tak

Kod
USERID | FRIENDID
user1id | user2id, user3id
user2id | user1id, user4id, user6id
user3id
user4id | user2id


czy tak

Kod
user1id | user2id
user1id | user3id
user2id | user1id
user2id | user4id


itd?
tylko czy wtedy jak bedzie zbyt duzo userow to nie za duzo relacji sie porobi?
MrCoody
ALE MI CHYBA BĘDZIESZ BROWARA WISIAŁ

BAZA MYSQL :
  1.  
  2. require 'konfiguracjamysql.php';
  3.  
  4. $sql1="create table if not exists znajomi (
  5. `id` INT( 11 ) NOT NULL ,
  6. `login_zapraszajacego` VARCHAR( 50 ) NOT NULL ,
  7. `login_zaproszonego` VARCHAR( 50 ) NOT NULL ,
  8. `potwierdzone` VARCHAR( 2 ) NOT NULL
  9. ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_polish_ci;
  10. PRIMARY KEY (id))";
  11.  
  12.  
  13. echo('Baza danych utworzona poprawnie')

DODAWANIE REKORDÓW DO BAZY DANYCH (zaproszenie) :
  1. $zapytanie="INSERT INTO znajomi (login_zapraszajacego,login_zaproszonego,potwierdzone) VALUES('$login','$login_osoby','no')";
  2. mysql_query($zapytanie) or die("Wystąpił błąd" );

SPRAWDZANIE CZY POTWIERDZONE :
  1. $co = $_SESSION['user_id'];
  2. $zapytanie = "SELECT `potwierdzone` FROM `znajomi` WHERE id='$co'";
  3. $idzapytania = mysql_query($zapytanie);
  4. $wiersz = mysql_fetch_row($idzapytania);
  5. if($wiersz[1]='ok') {$p='Jesteście znajomymi';}
  6. elseif($wiersz[5]='no') {$p='Ta osoba musi potwierdzić twoje zaproszenie';}

POTWIERDZANIE ZAPROSZENIA tu można ustawić if(isset($_POST['potwierdzenie']) :
  1. $ok = $_POST['potwierdzenie'];
  2. $zapytanie="UPDATE user SET potwierdzenie = '$ok' ";
  3.  
  4. mysql_query($zapytanie) or die("Wystąpił błąd" );

LINK DO POTWIERDZENIA WIADOMOŚCI
  1. <form action="" method="post">
  2. <input type="submit" value="przyjmij zaproszenie do znajomych" style="border: 0px; background: #444; color: #fff;" name="potwierdzenie" /></form>


przy tym kodzie
Cytat
USERID | FRIENDID
user1id | user2id, user3id
user2id | user1id, user4id, user6id
user3id
user4id | user2id

będzie problem z wyświetleniem pojedynczego znajomego smile.gif

więc ci wyżej napisałem kod na prawie całość smile.gif
stckydude
wielkie dzieki za pomoc smile.gif
nie jednego browara ci wisze smile.gif

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.