ho creato un'immagine che rappresenta il mio database:
http://lsdfreetime.altervista.org/db2.jpg
l'amministratore accede alla lista di giocatori. ognuno dei quali ha una casella di spunta con cui può essere selezionato.
l'aaministratore, seleziona i primi 5 ed invia il modulo, nella pagina ricaricata prima viene creata la squadra 1, poi vengono visualizzati SOLO gli utenti non ancora selezionati (sel=0).
seleziona e reinvia il modulo.
viene creata anche la seconda squadra.
le squadre sono create, viene creata la partita con la data, ed è impostata a PENDENTE (=0), perchè ancora deve essere giocata (manca infatti il risultato).
lo script per fare tutto ciò è:
Codice PHP:
<?php
include('script/check_login.php');
include('script/header.php');
include('script/conn.php');
$i = 0;
if($_POST['giorno'] == '0' || $_POST['mese'] == '0' || $_POST['anno'] == '0000'){
echo"<div id=corpo>";
echo"Devi impostare la data della partita!<br>:: <a href=javascript:history.back()>Indietro</a>";
echo"</div>";
exit;
}
$data = $_POST['giorno']."/".$_POST['mese']."/".$_POST['anno'];
//********************
//CREAZIONE SQUADRA A
//********************
if(isset($_POST['submit']) and $_POST['submit'] == 'Crea Squadra'){
if (isset($_POST['check'])){
$listaid = "";
foreach ($_POST['check'] as $key => $val){
if($listaid == ''){
$listaid = $val;
}
else{
$listaid = $listaid.", ".$val;
}
}
}
if($listaid == ""){
echo"<div id=corpo>";
echo"Non hai selezionato alcun membro per la squadra!<br>:: <a href=javascript:history.back()>Indietro</a>";
exit;
}
echo"<div id=corpo><table><tr><td>
<h1 align=center>:: Squadra creata :: </h1>
<table border=1 align=center cellpadding=5 cellspacing=1>
<tr>
<td>Nome</td><td>Cognome</td><td>Punti</td><td>@mail</td>
</tr>";
//CREA UNA NUOVA SQUADRA E PRELEVA L'ID DEL TEAM CREATO
//CREA NOME TEAM
$num = mysql_query("SELECT COUNT('id_team') FROM team") or die(mysql_error());
list($count) = mysql_fetch_array ($num);
if($count == 0){
$rel = 1;
}
else{
$rel = $count+1;
}
$sq = "sq".$rel;
$team_ins = "INSERT INTO team (id_team, nome_sq) VALUES ('', '$sq')";
mysql_query($team_ins) or die(mysql_error());
$id_team = mysql_insert_id();
//SELEZIONE GIOCATORI
$giocatori = mysql_query ("SELECT * FROM giocatori where id_giocatore in (".$listaid.") ORDER BY punti DESC;") or die(mysql_error());
//VISUALIZZA I GIOCATORI IN UNA TABELLA E AGGIORNA LE INFO DI OGNI GIOCATORE SELEZIONATO
//CON L'ID DEL TEAM
while ($row_giocatori = mysql_fetch_array($giocatori)){
echo"<tr>";
echo"<td>".$row_giocatori['nome']."</td><td>".$row_giocatori['cognome']."</td><td>".$row_giocatori['punti']."</td><td>".$row_giocatori['email']."</td>";
echo"</tr>";
$id_giocatore = $row_giocatori['id_giocatore'];
mysql_query ("UPDATE giocatori SET sel='1', id_squadra='$id_team' WHERE id_giocatore='".$id_giocatore."' LIMIT 1") or die(mysql_error());
}
//FORMATTAZIONE TABELLA
echo"</table>";
echo"</tr></td><td></td><td>";
echo"<br><br><h1 align=center>:: Seconda squadra ::</h1>
<table border=1 align=center cellpadding=5 cellspacing=1>
<tr>
<td>Nome</td><td>Cognome</td><td>Punti</td><td>Seleziona</td>
</tr>
<form method=post id=sqb action=squadra.php?id_canc=$id_team&sqA=$id_team&data=$data>";
//SELEZIONA I GIOCATORI NON ANCORA SELEZIONATI
$sq2 = mysql_query("SELECT * FROM giocatori WHERE sel='0' ORDER BY punti DESC;");
//CREA FORM CON I GIOCATORI NON ACNORA SELEZIONATI
while($row_sq2 = mysql_fetch_array($sq2)){
$valore = $row_sq2['id_giocatore'];
echo"<tr>";
echo"<td>".$row_sq2['nome']."</td><td>".$row_sq2['cognome']."</td><td>".$row_sq2['punti']."</td><td align=center><input type=\"checkbox\" name='check[]' value='$valore'></td>";
echo"</tr>";
}
echo"</table><input type=submit name=submit2 value='Crea Squadra'></form></td></table>";
} //chiude primo ISSET
//*******************
//CREAZIONE SQUADRA B
//*******************
$listaid ='';
if(isset($_POST['submit2']) and $_POST['submit2'] == 'Crea Squadra'){
if (isset($_POST['check'])){
$listaid = "";
foreach ($_POST['check'] as $key => $val){
if($listaid == ''){
$listaid = $val;
}
else{
$listaid = $listaid.", ".$val;
}
}
}
//ERRORE DI SELEZIONE
if($listaid == ""){
echo"<div id=corpo>";
echo"Non hai selezionato alcun membro per la squadra!<br>";
$id_can = $_GET['id_canc'];
echo"$id_canc";
mysql_query("DELETE FROM team WHERE id_team='$id_can'") or die(mysql_error());
echo"<b>Per evitare errori nell'inserimento dei dati, tornare alla <a href=squadre.php>pagina inizale</a>.</b>";
exit;
}
//SELEZIONA GIOCATORI SELEZIONATI
$team2 = mysql_query ("SELECT * FROM giocatori where id_giocatore in (".$listaid.") ORDER BY punti DESC") or die(mysql_error());
//CREA UNA NUOVA SQUADRA E PRELEVA L'ID DEL TEAM CREATO
//CREA NOME SUQDRA
$num2 = mysql_query("SELECT COUNT(id_team) FROM team");
list($count2) = mysql_fetch_array ($num2);
if($count2 == 0){
$rel = 1;
}
else{
$rel = $count2+1;
}
$sq = "sq".$rel;
$team2_ins = "INSERT INTO team (id_team, nome_sq) VALUES ('', '$sq')";
mysql_query($team2_ins) or die(mysql_error());
$id_team2 = mysql_insert_id();
$sq = "sq".$id_team2;
//AGGIORNA LE INFO NELLA TABELLA TEAM
while ($row_team2 = mysql_fetch_array($team2)){
$id_giocatore = $row_team2['id_giocatore'];
mysql_query ("UPDATE giocatori SET sel='1', id_squadra='$id_team2' WHERE id_giocatore='".$id_giocatore."' LIMIT 1") or die(mysql_error());
}
//CREA PARTITA E MEMORIZZA ID UNIVOCO
$id_team = $_GET['sqA'];
$data = $_GET['data'];
$ry = "INSERT INTO partite (id_partita, id_teamA, id_teamB, data, risultato, pendente)
VALUES ('', '$id_team', '$id_team2', '$data','','0')";
mysql_query($ry) or die(mysql_error());
$id_partita = mysql_insert_id();
//CREAZIONE REPORT
$arr = 0;
$sel = mysql_query("SELECT * FROM giocatori WHERE id_squadra='$id_team' OR id_squadra='$id_team2' ") or die(mysql_error());
while($row = mysql_fetch_array($sel)){
$id = $row['id_giocatore'];
$team = $row['id_squadra'];
$nome = $row['nome']." ".$row['cognome'];
if($arr == 0){
$arr = $team;
$sqA = $sqA." ".$nome."<br>";
}
else if($arr == $team){
$sqA = $sqA." ".$nome."<br>";
}
else if($arr != $team){
$sqB = $sqB." ".$nome."<br>";
}
$ins = "INSERT INTO report (id_partita, id_giocatore, id_team) VALUES
('$id_partita', '$id', '$team')";
mysql_query($ins) or die(mysql_error());
}
echo"
<div id=corpo>
<h1 align=center>:: Riepilogo squadre :: </h1>
<table align=center>
<tr><td align=center><b>Squadra I</b></td><td> </td><td align=center><b>Squadra II</b></td></tr>
<tr><td>$sqA</td><td></td><td>$sqB</td></tr>
</table>
";
} //chiude il controllo isset del form della squadra 2
echo"</div>";
?>
a seguito, viene visualizzato il report delle due squadre.
si può fare meglio?
FunCool: Ho messo il link all'immagine per non deformare tutto il forum.