2011-03-06 4 views
0

J'essaie de coder un moyen pour les utilisateurs de "marquer" d'autres utilisateurs en PHP/MySQL."Marquage" des utilisateurs dans les photos?

Jusqu'à présent, mon idée est la suivante:

  • Créer une table appelée "images", et un champ appelé "tagged".
  • Stockez un tableau (sérialisé?) Dans "étiqueté" que je peux extraire avec une requête sql.

Cela semble être une façon très laide de gérer la tâche - quelqu'un at-il des suggestions pour moi?

+5

oh noes another facebook – dynamic

+1

table pour les étiquettes, une par rangée –

Répondre

5

Si vous cherchez à faire le marquage style Facebook de personnes dans les photos (par exemple superposition sur le dessus de la photo), essayez cette façon à l'article:
http://www.bryantan.info/jquery/facebook-like-photo-tagging-using-jquery-and-php/5

Si vous voulez simplement avoir une liste de noms à côté de la photo, créer une table de liaison many-to-many. Exemple:

create table pictures (
    id int auto_increment, 
    photo_url varchar(100), 
    primary key (id) 
); 

create table users (
    id int auto_increment, 
    photo_url varchar(100), 
    primary key (id) 
); 


create table users_in_photos (
    id int auto_increment, 
    photo_id int, 
    user_id int, 
    primary key (id) 
); 
+0

'users_in_photos' peut être étendu avec les informations' x, y, width, height' du rectangle où la personne a été identifiée. – vbence

+0

Parfait, merci. – Walker

1

ont une table appelée images, une table appelée balises et une table appelée pictureTags. La balise d'image nécessite id, pictureid, tagid et dépend si vous envisagez de mettre en surbrillance un visage sur hover, x1, width, y1, height pour stocker les coordonnées du visage de personnes dans l'image. Je recommande un plugin jQuery appelé jCrop si vous prévoyez de stocker les coordonnées des personnes face, il vous permettra de les attraper facilement.

+0

Ahhh vous avez tellement raison, merci. – Walker

Questions connexes