Consiglio su come iniziare il mio progetto

  • Creatore Discussione Creatore Discussione dny18
  • Data di inizio Data di inizio

dny18

Nuovo Utente
16 Feb 2015
18
0
0
Ciao a tutti.
Sto studiando da circa 1 mese il duo Php/Mysql e vorrei provare a creare un piccolo sito per la gestione di un torneo di calcio per console.
Vorrei un consiglio da voi sul modo in cui posso creare la tabella principale per non dover cambiare a lavoro in corso; vi spiego brevemente l'idea.

Al torneo, parteciperanno 10 squadre, con al massimo 24 giocatori. Ogni squadra avrà una pagina dedicata, dove tramite una tabella verranno elencati tutti i giocatori (nome, età, ruolo ecc...), prima i portieri, poi i difensori e centrocampisti per poi finire con gli attaccanti. Nel sito poi sarà disponibile anche un motore di ricerca, per poter cercare appunto un giocatore in maniera dettagliata tramite l'utilizzo di alcun filtri (età, ruolo, ecc...). Naturalmente durante le fasi di calciomercato l'amministratore (io) dovrò moderare tutte le trattative concluse e spostare uno o più giocatori da una rosa ad un altra.

Il mio dubbio è come impostare il database, creo un una tabella con tutti i giocatori presenti nel gioco, oppure creo una tabella per ogni squadra, oppure cosa?

Grazie per l'aiuto e spero di essermi spiegato.

:fonzie:
 
Prova a fare uno schizzo dello schema E-R.
Io direi di fare una tabella SQUADRE e una GIOCATORI collegate da una relazione 1:n (uno a molti). Questo significa che una squadra può avere più giocatori ma un giocatore può appartenere solo ad una squadra.
Non è un caso realistico perché il cartellino dei giocatori può appartenere a più società, ma non credo che questo sia interessante ai fini dell'applicazione.
Ovviamente poi ci saranno tutte le altre entità, buon lavoro e aggiornaci.
 
Grazie per la risposta. Scusa l'ignoranza, ma cosa sarebbe uno schema E-R?

Comunque in riferimento a quanto suggerito, avrei pensato di creare le due tabelle in questo modo:

Tabella SQUADRE:

id - nome squadra

Tabella GIOCATORI

id - ruolo - nome giocatore - posizione - età - anno di nascita - squadra id

E' corretto?
 
Si, bisogna vedere anche tutto il resto.
Comunque se serve puoi aggiungere un campo Allenatore a squadra.
 
Grazie per la tua risposta. Sto proseguendo con il mio progetto, ma ho un dubbio. Tramite un form dovrei inserire un campo data in questo formato gg/mm/aaaa per poi inserirlo in una tabella.

1. Vorrei visualizzare il campo del form già con l'indicazione del tipo di formattazione della data, gg/mm/aaaa, ma non so come fare.
2. A quanto ho capito il formato nel database è 1000-01-01, come modificarlo?

Grazie
 
ciao
intanto dipende dal tipo di campo che usi, volendo potrebbe essere anche varchar(XY), comunque se nel db le date sono formattate AAA mm gg è meglio soprattutto se devi fare un ordinamento per data.
detto questo è sempre una rognetta trattare le date perche se fai un campo di input tipo testo es l'utente può inserire la data in modi diversi, senza contare che può inserire es. 32/02/2015, quindi necessita sempre un sistema
che obblighi l'utente ad inserire la data nel formato giusto e un controllo, prima di passarla al db, che la data sia giusta.
quindi o usi un data picker oppure puoi fare tre campi di input giorno mese e anno facilitandoti il controllo successivo.
ti faccio un esempio
nel form
HTML:
<form name="form1" method="post" action="pinco_pallo.php">
  giorno
    <input name="giorno" type="text" id="giorno" size="2">
  mese 
  <input name="mese" type="text" id="mese" size="2">
  anno 
  <input name="anno" type="text" id="anno" size="4">
  <br>
  <input type="submit" name="Submit" value="Invia">
</form>
poi nella parte php che riceve
PHP:
<?php
$gg=$_POST['giorno'];
$mm=$_POST['mese'];
$aa=$_POST['anno'];
//verifichi
if(!checkdate($mm,$gg,$aa)){
	//data errata e rimandi dove vuoi
}else{
	//formatti la data nel modo che preferisi, es.
	$data=$aa."-".$mm."-".$gg;//oppure $aa."/".$mm."/".$gg ....
	//e la inserisci nel db
}
?>
questo può essere un modo

ps
comunque ricorda "un probema un post"
 
Grazie, proverò subito.

Una cosa, tu hai impostato il size per la dimensione del campo testo. Cè un modo compatibile con i browser per limitare il numero di caratteri da inserire?
 
Grazie, proverò subito.

Una cosa, tu hai impostato il size per la dimensione del campo testo. Cè un modo compatibile con i browser per limitare il numero di caratteri da inserire?

Allora... nella tabella ho una colonna nome con valore date.

Ho modificato il form in modo da avere 3 campi distinti, ma non capisco il passaggio successivo... Come faccio a raggruppare i 3 campi in modo da inserirli nel db?
 

Discussioni simili