2011-05-26 5 views
1

Je voudrais créer un système "follow user" en utilisant php et mysql. Je développe un site web qui nécessite cette fonctionnalité et aimerais avoir de l'aide avec le codage de script et la structure de la table - je suis coincé.Suivre le système membre php

J'aimerais que user1 puisse "suivre" user2 sans avoir à confirmer son amitié. Une fois que l'utilisateur1 clique sur le bouton "suivre", je voudrais qu'une notification soit envoyée à user2 en lui disant que user1 l'a ajouté à ses amis. Ce n'est que la première partie de ce que j'aimerais que la fonctionnalité de mon site soit, mais cela m'aiderait beaucoup.

+1

Où êtes-vous exactement coincé? Avez-vous un exemple de code pour nous montrer jusqu'où vous êtes allé? – sjobe

+0

@sjobe Je n'arrive pas à comprendre comment obtenir l'id de user1 et l'identifiant de user2 et les ajouter à ma table "friends" dans "user_id" et "friend_id". J'ai $ id = $ _ SESSION ['id'] qui est "user_id" (aussi user1) au début de mon code, mais je ne suis pas sûr de savoir comment obtenir l'identifiant de user2. – Katie

Répondre

3

réponse simplifiée en très « bas niveau » (dans le sens d'être très facile - et donc pas vraiment testé sur le terrain; p)

tableau user_following structure pourrait ressembler:

  • followerUserID - pk; ID utilisateur de l'utilisateur qui souhaite suivre followingUserID
  • followingUserID - pk; ID utilisateur de l'utilisateur qui sera suivie par followerUserID
  • horodatage
  • - pourrait être utilisé pour suivre lorsque followerUserID ajouté followingUserID à suivre par lui

code php (comme mentionné: très simplifié)

<?php 
// ... 

class UserRelation extends User { 
    /** 
    * follow userID $userID and tell $userID that someone follows him 
    * 
    * @param int $userID 
    * @return void 
    **/ 
    public function followUserID($userID) { 
    // send a message that $this->userID follows $userID 
    Message::sendFollowUserNotification($this->userID, $userID); 

    // add to database 
    $this->setFollowingUser($userID); 
    } 

    /** 
    * adds it to database 
    * 
    * @param int $userID 
    * @return void 
    **/ 
    private function setFollowingUser($userID) { 
    // write to database 
    Database::executeQuery("INSERT INTO user_following(followerUserID, followingUserID) VALUES (". $this->userID .", ". $userID ."); 
    } 
} 

// ... 
?> 

Soyez plus précis si vous avez besoin d'aide supplémentaire - je peux juste vous montrer un exemple de base. Le sujet est beaucoup trop complexe pour être expliqué en 10 minutes.

+0

@thedom Je n'arrive pas à comprendre comment obtenir l'id de user1 et l'id de user2 et les ajouter à ma table "friends" dans "user_id" et "friend_id". J'ai $ id = $ _ SESSION ['id'] qui est "user_id" (user1) au début de mon code, mais je ne suis pas sûr de savoir comment obtenir l'identifiant de user2. – Katie

+0

@Katie Eh bien ... On dirait que vous êtes au tout début du codage ;-). Eh bien ... ça dépend comment obtenir ID utilisateur2s :). Il y a des centaines de méthodes pour l'obtenir. Avez-vous du code à afficher? Ou la structure de la table? Il est difficile de travailler sans votre code (surtout lorsque votre niveau d'expérience avec PHP n'est pas si élevé ;-)). – thedom

+0

@thedom Oui, je suis un novice :(J'ai appris par le biais de tutoriels et je suis vraiment allé très loin dans le développement de mon site web J'ai du code - c'est l'action de cliquer sur le bouton "suivre utilisateur". – Katie

Questions connexes