Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    330

    votazione utente una sola volta

    ciao a tutti, devo realizzare un sistema di votazione di immagini, per utente iscritti, quindi l'idea è che un utente possa votare una sola volta per un'immagine.

    avevo pensato di creare un tabella dove tener traccia del id_utente e del id_immagine

    quindi tabella-votazione

    id_votazione | id_utente | id_immagine

    e per controllare se l'utente ha votato faccio una query

    select id_votazione
    from votazione
    where id_utente = $idutente and id_immagine=$idimg

    poi assegno il valore ad una variabile e con if controllo che la variabile non sia vuota e procedo..

    potrebbe andare secondo voi

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    No, io il controllo lo farei sull'id dell'utente e sull'id della votazione.

    Metti che in votazioni diverse ci siano immagini con stesso id, un utente potrà votare solo in una delle due votazioni.

  3. #3
    si, se l'utente puo' darti solo un voto (per sempre), altrimenti dovresti anche inserire un campo data e mettere un controllo sulla data.
    Tanto per essere chiari se vuoi controllare che un utente non inserisca piu' di un voto nell'arco delle 24 ore...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    330
    l'utente può votare quell'immagine una sola volta per sempre, ma può votare le altre per le quali non ha ancora votato


    No, io il controllo lo farei sull'id dell'utente e sull'id della votazione. Metti che in votazioni diverse ci siano immagini con stesso id, un utente potrà votare solo in una delle due votazioni.
    non ho capito, in che senso immagini con stesso id?

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Io immagino una cosa così:
    - si possono indire più votazioni, quindi ognuna di esse avrà un id
    - ad ogni immagine di ogni votazione è associato un id

    La tabella votazioni quindi verrà così
    codice:
    ------------------------------------------
    | id_votazione | id_utente | id_immagine |
    ------------------------------------------
    |       1      |     1     |     img1    |
    |       1      |     3     |     img2    |
    |       2      |     2     |     img1    |
    ------------------------------------------
    Nella votazione 1 hanno votato l'utente 1 e 3, l'utente 1 ha votato l'immagine img1.
    Nella votazione 2 ha votato l'utente 2.
    Facendo come vorresti fare tu, l'utente 1 non può votare l'immagine con id img1 nella votazione 2, perché se cerchi l'associazione id_utente = 1 - id_immagine = img1 verrà già trovata, ma adesso l'utente 1 vorrebbe votare nella votazione 2 non nella 1.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    330
    ma l'id votazione è univoco, quindi non possono esserci 2 id uguali e stessa cosa per id immagine in quanto è la chiave primaria della tabella immagini! o mi sbaglio?

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non lo so se è univoco l'id delle immagini, dipende da come l'hai fatto tu.
    Ma per lasciare la massima flessibilità io farei come ti ho detto in precedenza.
    Dici che l'id della votazione è univoco, prevedi che farai una sola votazione e non ne farai mai più altre in futuro? Che succede se devi fare una nuova votazione? Non gli darai un nuovo id?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    330
    si ad esempio


    ------------------------------------------
    | id_votazione | id_utente | id_immagine |
    ------------------------------------------
    | 1 | 1 | img1 |
    | 2 | 1 | img2 |
    | 3 | 2 | img1 |
    ------------------------------------------

    in questa tabella la pk è id_votazione mentre

    id_utente
    id_immagine

    sono rispettivamente le pk delle loro tabelle

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non funziona ugualmente, l'utente 1 potrebbe votare nella votazione 1 sia l'immagine img1, che la img2, img3...
    perché l'associazione id_utente e id_immagine è diversa ogni volta, se invece controlli id_votazione e id_utente un utente può votare solo una volta in una data votazione.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    330
    facendo questa query

    select id_votazione
    from votazione
    where id_utente = $idutente and id_immagine=$idimg

    all'interno di questa ipotetica tabella

    ------------------------------------------
    | id_votazione | id_utente | id_immagine |
    ------------------------------------------
    | 1 | 1 | img1 |
    | 2 | 1 | img2 |
    | 3 | 2 | img1 |
    ------------------------------------------

    il risultato della query non sarebbe id_votazione=1 ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.