allora, ho provato a fare così.
dalla pagina risultati.php vado a richiamare la funzione estrai_form contenuta sempre nel file myfunction.php.
Rispetto alla funzione estrai_dati costruisce sempre una tabella solo che a ogni riga "stampa" un form con due select e un invio. Questi form fornisce i dati che andranno al file updatedb.php che farà la query di update. Posto tutto il codice
pagina risultati.php
Codice PHP:
$girone=$_POST['girone'];
$giornata=$_POST['giornata'];
$query = "SELECT Id_partita, Num_giornata, Sq_casa, Sq_ospite, Gol_casa, Gol_ospiti, Data
FROM Calendario_"."$girone"." WHERE Num_giornata = "."$giornata";
$result = mysql_query($query);
//richiamo la funzione estrai_dati che li estrae e li mette in una tabella
if ($result)
{
echo "Benvenuto Amministratore";
$g=strtoupper($girone);
echo "<h4>GIRONE "."$g";
echo " || GIORNATA NUMERO "."$giornata";
estrai_form($result,$girone,$giornata);
questa è funzione estrai_form contenuta dentro il file myfunction.php, quella che in pratica crea la tabella con la form
Codice PHP:
function estrai_form($result,$girone,$giornata)
{
echo "\n".'<table>'."\n";
// stampo riga di intestazione con i nomi dei campi
echo '<tr>'."\n";
for ($i=0; $i<mysql_num_fields($result); $i++ )
{
echo '<th>'.mysql_field_name($result,$i).'</th>'."\n";
}
echo '</tr>'."\n";
// memorizzo i dati in un array associativo
$i=1;
while ($row = mysql_fetch_assoc($result))
{
// stampo le celle del risultato. La numerazione delle colonne e delle righe mi servirà nei fogli di stile
($i%2) ? $class = 'pari' : $class = 'dispari';
$i++;
echo '<tr>'."\n";
$c=1;
foreach ($row as $data)
{
echo '<td class = "'.$class.' '.'colonna'.$c.'">'.$data.'</td>'."\n";
}
$id_partita=$row['Id_partita'];
echo "<form method='POST' action='update.php'>";
//Questi 2 mi servono a passare poi i valori giusti al file update.php
[color=red]echo "<input type='hidden' value=".$id_partita." name='id_partita'>";
echo "<input type='hidden' value=".$girone." name='girone'>";[/color]
echo '<td class = "'.$class.' '.'colonna'.$c.'">';
echo <<<EOD
<select name="gol_casa">
<option value=""></option>
<option value="1">1</option>
</select>
</td>
<td>
<select name="gol_ospiti">
<option value=""></option>
<option value="1">1</option>
</select>
</td>
EOD;
echo '<td class = "'.$class.' '.'colonna'.$c.'">';
echo <<< EOD
<input type="submit" value="Inserisci Risultato">
</form>
</td>
EOD;
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
Questo è il file update.php richiamato dal form del file prima
Codice PHP:
<?php
require_once ('config.php');
//mi collego al database
connect();
$gol_casa=$_POST['gol_casa'];
$gol_ospiti=$_POST['gol_ospiti'];
$id_partita=$_POST['id_partita'];
$girone=$_POST['girone'];
$query = "UPDATE calendario_".$girone." SET Gol_casa=".$gol_casa.", Gol_ospiti=".$gol_ospiti."WHERE Id_partita=".$id_partita;
mysql_query($query);
?>
Lasciando stare che nei due select ho messo solo un valore per accorciare, non mi da errori però non funge.
Il procedimento può essere corretto? Cosa devo spostare o cambiare?