Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    DB MySql per campi di calcetto

    Ciao a tutti ho la necessità di creare un sito in stile facebook con PHP e MySql che gestisca una struttura sportiva con n campi di calcio a 5 e calcio a 8.
    Il sito deve permettere agli utenti di registrarsi, prenotare il campo, organizzare una partita, inserire il risultato e commentare il match.
    Di seguito la mia idea di database. La mia domanda è come faccio ad associare n giocatori a una partita. Tenete conto che le squadre cambiano sempre, o meglio ogni volta che si crea una partita si creano due nuove squadre con 10 o 16 giocatori partecipanti. Come faccio a dire che nella partita con id n hanno partecipato l'utente 1 , l'utente 2 ecc...?

    Grazie a tutti per l'aiuto.

    Tabella utenti

    id_user
    user
    password

    Tabella informazioni utenti

    id_user
    nome
    cognome
    data di nascita
    domicilio
    ruolo
    piede
    altezza
    peso
    giocatore a cui ti ispiri
    stato forma
    disponibile
    admin_level

    Tabella partite

    id_partita
    campo
    data
    ora
    organizzatore (id_user)
    attiva/disattiva
    squadra 1 (nome)
    squadra 2 (nome)
    risultato
    posti disponibili

    Tabella Commenti

    id_commento
    id_partita
    id_user
    commento
    visibile

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    21
    ciao..
    per associare una partita ai calciatori, devi fare un'associazione molti a molti, ossia una tabella relazionale che contenga le associazioni tra le FK delle partite (su una colonna) e su un'altra colonna la FK del giocatore..

    per cui.. avresti qeuste tabelle:

    tabella delle partite giocate (con gli attributi, tra cui anche il commento)

    tabella anagrafica dei giocatori (nome cognome ecc, un giocatore va inserito una volta soltanto)

    tabella associativa come descritto sopra.. in questa tabella puoi anche creare una colonna che identifichi l'appartenenza del giocatore ad una particolare squadra .. infatti se le squadre cambiano sempre, è tutto sommato accettabile..

    se invece le squadre non cambiassero mai, si potrebbe fare un'anagrafica delle squadre ed associare i giocatori alle squadre e l'associazione con le partite sarebbe con le squadre e non direttamente con i giocatori..

  3. #3
    Non ho capito bene.
    Il dato certo è che non ci sono squadre fisse. C'è un utente che crea una partita e gli altri utenti (unici) si scrivono a questa partita.
    Mi hai consigliato di creare una tabella partite giocate? Cioè devo creare un'altra tabella oltre a quella da me creata?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    21
    allora....
    io ti suggerisco di modificare le tabelle in un certo modo.. poi fai te...

    tabella delle partite giocate: contiene una chiave primaria PART_ID e gli attributi specifici della partita come ad es. il commento o il numero di giocatori per squadra.. non ci metto nessun riferimento alle squadre, dato che cambiando ogni volta, creare un'entità relativa alle "squadre" secondo me perde molto di significato.. al limite si possono mettere due campi che identifichino per quella partita i nomi descrittivi delle due squadre

    tabella dei giocatori: una tabelal contenente i dati anagrafici dei giocatori che giocano o hanno giocato almeno una partita.. nome cognome ecc e una chiave primaria GIOC_ID

    tabella associativa giocatori - partite: oltre alle FK PART_ID e GIOC_ID, ci metti anche un campo SQUADRA gestito con un combo box.. in particolare, devi mettere una unique sulla coppia di campi PART_ID e GIOC_ID : un giocatore no npuo' essere inserito due volte nella stessa partita (non si sa mai...)..

    l'utente super user puo' creare le partite sulla tabella partite ed eventualmente creare le utenze associate ai giocatori.. puo' anche modificare completamente i dati relativi alle partite, eliminando o creando record di associazione tra giocatori e partite

    gli altri utenti (giocatori) possono solo modificare la tabella associativa: in particolare per ogni partita possono far inserire al sistema un solo record tra la partita e loro stessi oppure cancellarlo, scegliendo eventualmente la squadra di appartenenza (i cui nomi sono definiti a livello di tabella partita)... possono visualzizare comunque tutti i giocatori presenti a quella partita

    un controllo da fare è che il numero dei giocatori per squadra non sia superiroe al numero definito nella tabella della partita..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.