qualcuno mi può aiutare, ho provato a cercare sul forum e su google ma bene o male mi capitano form in flash, ecc..
parto da zero, quindi se qualcuno potesse aiutarmi a creare un form per inserire dati in mysql...grazie
qualcuno mi può aiutare, ho provato a cercare sul forum e su google ma bene o male mi capitano form in flash, ecc..
parto da zero, quindi se qualcuno potesse aiutarmi a creare un form per inserire dati in mysql...grazie
Prova a leggerti questa guida.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
ricordati che $db lo devi collegare ai dati del mysqlOriginalmente inviato da dementialsite
io vorrei che come primo step inserisci i dati e ti crea le tabelle
lo script è per gestire una squadra di calcetto, quindi come successivi step vorrei che fosse possibile richiamare i nomi dei calciatori inseriti e spuntare una casella per segnare la presenza e nello step successivo inserire i goal segnati ...
in pratica come avviene su questo sito:
www.ilcalcetto.it
allora nn ti posso aiutare...
mi disp..
ciau!
questa è la tabella che ho creato, adesso vorrei avere la possibilità di inserire i dati tramite moduli in una pagina php.
ad esempio vorrei che mi comparisse il cognome e nome del giocatore e inserire i goal segnati nell'ultima partita e far si che quel valore venga sommato automaticamente ai goal precedentemente segnati in modo da avere nella colonna GOALS il totale dei goals.
inotre vorrei sapere come ottenere la media_goals realizzando una formula che mi divida i goals segnati per le presenze.
grazie
Ultima modifica di FantaGalla : 03-12-2006 alle ore 18.39.29
non si vede l'immagine...
ma è excel o mysql?
vediamo un po'... fammi capire bene, tu vuoi un form dove mettere i dati dell'ultima partita dove i giocatori sono già nel database? e quali sarebbero i campi? goal, vittoria, pareggio, sconfitta?
crei i tuoi form,crei una tabella unica(x semplificare),Originalmente inviato da FantaGalla
giocatori------>id->nome->squadra->goals-
dal campo nome tiri fuori la somma dei goals inseriti a singola partita,utilizzi sempre quella somma per fare la media, dividi facendo il conto ad esempio di quel numero/numero di righe trovato con nome==$nome ad esempio(ogni riga indica implicitamente una presenza)
sicuramente ci sono tanti modi ,creare + tabelle gestite tramite (unione) ,dove puoi gestire più sezioni,tipo squadra,ect..questo sarebbe un modo più serio però anche più lungo da creare su codice..scegli te..buon lavoro!
"Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix
[ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
consoliwebsite.altervista.org
potresti dirmi il codice vero e proprio?
non so nulla di php, tranne quello che trovo e scopiazzo in giro...
Una premessa: è buona norma non memorizzare fisicamente dati che possono essere ricavati facilmente da altri campi o altre tabelle del tuo database. Nello specifico, nel tuo caso sarebbe bene che eliminassi la colonna "media_goal".
Non preoccuparti, puoi sempre visualizzarla ai tuoi visitatori scrivendo la query:Per quanto riguarda l'aggiornamento multiplo, una elegante soluzione l'ho trovata nella documentazione di MySQL (http://dev.mysql.com/doc/refman/4.1/en/update.html, vedi il primo degli "User Comment"), però richiede che i dati risiedano in una tabella separata. Non è più di tanto un problema, perché puoi sempre cavartela con 4 query (sempre meglio di una per ciascun utente). Eccotele:Codice:SELECT *, goals / presenze AS media_goal FROM Tabella WHERE ...Spero di avertela adattata correttamente al tuo caso...Codice:// 1. Crea la tabella temporanea CREATE TABLE tmp_table ( id INT UNSIGNED NOT NULL, goals INT UNSIGNED NOT NULL ) // 2. Inserisci in questa tabella tutte le coppie ID/Goal ricavate dall'invio del modulo INSERT INTO tmp_table (id, goals) VALUES (id1, goals1), (id2, goals2), ... // 3. Effettua l'aggiornamento UPDATE Tabella, tmp_table SET Tabella.presenze = Tabella.presenze + 1, Tabella.goals = Tabella.goals + tmp_table.goals WHERE Tabella.id = tmp_table.id // 4. Distruggi la tabella temporanea DROP TABLE tmp_table
Stammi bene...
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
In questo caso ti consiglio di leggerti qualche guida utile su php.html.it, altrimenti non credo che riuscirai ad usare neanche un eventuale codice fornito...Originalmente inviato da FantaGalla
beh, con i codici forniti mi pare di aver fatto abbastanza con il mio sito...senza usare i sliti portali che qua campeggiano in 2 siti su 3...poi questo era un topic di richiesta, non di commento a capacità o altro...come al solito poi diventano inutili i topic che potrebbero risultare utili anche ad altri...
*****
X DEMENTIALSITE:
aggiornando solo i goals, come faccio per le presenze?
puoi aiutarmi in modo un po' più semplificato?
tipo: nella pagina html tot metti queste cose, nella pagine xxx.php metti queste altre cose..
scusa la rottura, ma anche su html.it ho trovato qualcosa ma non mi ci raccapezzavo molto...
*****
ho provato ad utilizzare il codice fornitomi e l'ho corretto in base a qualcosa trovato in rete, così funziona:
siccome eseguo lo stesso codice nella stessa pagina per 3 volte al momento per 3 valori, è possibile aprire il database una sola volta e chiudere la connessione alla fine?risparmio qualcosa a livello di query e di appesantimento della pagina?Codice PHP:
<?php
include("config.inc.php");
$db = mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");
mysql_select_db($database, $db) or die("Errore durante la selezione del database");
$query = "SELECT (goals / (vittorie+pareggi+sconfitte)) AS media_goal FROM `calcetto` WHERE id = 1";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
echo nl2br($row['media_goal']);
mysql_close($db);
?>
Ultima modifica di dementialsite : 05-12-2006 alle ore 10.49.18
Le query che ti ho dato sopra effettuano l'aggiornamento anche delle presenze... ma sei riuscito a farmi notare che dovresti eliminare anche quella colonna in quanto vale presenze = vittorie + pareggi + sconfitte, giusto?Originalmente inviato da FantaGalla
Allora dovresti modificare le query nel modo seguente:Nel modulo di aggiornamento devi anche pensare di inviare dei dati per vittorie, sconfitte e pareggi che siano 1 se dovranno essere aggiornate, 0 in caso contrario.Codice:// 1. Crea la tabella temporanea CREATE TABLE tmp_table ( id INT UNSIGNED NOT NULL, goals INT UNSIGNED NOT NULL, vittorie INT UNSIGNED NOT NULL, pareggi INT UNSIGNED NOT NULL, sconfitte INT UNSIGNED NOT NULL ) // 2. Inserisci in questa tabella tutte le coppie ID/Goal ricavate dall'invio del modulo INSERT INTO tmp_table (id, goals, vittorie, pareggi, sconfitte) VALUES (id1, goals1, vittorie1, pareggi1, sconfitte1), (id2, goals2, vittorie2, pareggi2, sconfitte2), ... // 3. Effettua l'aggiornamento UPDATE Tabella, tmp_table SET Tabella.vittorie = Tabella.vittorie + tmp_table.vittorie, Tabella.pareggi = Tabella.pareggi + tmp_table.pareggi, Tabella.sconfitte = Tabella.sconfitte + tmp_table.sconfitte, Tabella.goals = Tabella.goals + tmp_table.goals WHERE Tabella.id = tmp_table.id // 4. Distruggi la tabella temporanea DROP TABLE tmp_tableLa pagina forse sarà meno pesante ma non risparmi in termini di query, sempre 3 sono...Originalmente inviato da FantaGalla
Stammi bene...
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
Ho unito le due discussioni. Non aprirne di nuove se ne hai già aperte sullo stesso argomento.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
ma io non ho capito proprio fisicamente dove devo inserire i codici per i 4 passaggi per modificare i valori tramite tabella temporanea...
è una pagina php?html?boh...
i dati come li inserisco poi?
non potete darmi il codice completo?io ho fatto così ma nonfunziona
Codice PHP:
<?
include("config.inc.php");
$db = mysql_connect($host, $username);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($database, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
// 1. Crea la tabella temporanea
$query = "CREATE TABLE tmp_calcetto (
id INT UNSIGNED NOT NULL,
goals INT UNSIGNED NOT NULL,
vittorie INT UNSIGNED NOT NULL,
pareggi INT UNSIGNED NOT NULL,
sconfitte INT UNSIGNED NOT NULL
)";
// 2. Inserisci in questa tabella tutte le coppie ID/Goal ricavate dall'invio del modulo
$query = "INSERT INTO tmp_calcetto (id, goals, vittorie, pareggi, sconfitte) VALUES
(id1, goals1, vittorie1, pareggi1, sconfitte1),
(id2, goals2, vittorie2, pareggi2, sconfitte2)";
// 3. Effettua l'aggiornamento
$query = "UPDATE calcetto, tmp_calcetto
SET calcetto.vittorie = calcetto.vittorie + tmp_calcetto.vittorie,
calcetto.pareggi = calcetto.pareggi + tmp_calcetto.pareggi,
calcetto.sconfitte = calcetto.sconfitte + tmp_calcetto.sconfitte,
calcetto.goals = calcetto.goals + tmp_calcetto.goals
WHERE calcetto.id = tmp_calcetto.id";
// 4. Distruggi la tabella temporanea
$query = "DROP TABLE tmp_calcetto";
if (mysql_query ($query, $db))
echo ("Inserimento riuscito!");
else
echo ("Errore nell'inserimento :-(");
?>
Ultima modifica di FantaGalla : 05-12-2006 alle ore 21.41.09
Guarda che OGNI VOLTA devi eseguire la query che ti costruisci:Stammi bene...Codice PHP:
<?php
$query = "CREATE TABLE ...";
if (!mysql_query ($query, $db))
echo ("Creazione tabella temporanea non riuscita");
$query = "INSERT INTO ...";
if (!mysql_query ($query, $db))
echo ("Inserimento dati in tabella non riuscito");
$query = "UPDATE ...";
if (!mysql_query ($query, $db))
echo ("Aggiornamento database non riuscito");
$query = "DROP TABLE ...";
if (!mysql_query ($query, $db))
echo ("Eliminazione tabella temporanea non riuscita");
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
sono riuscito a far funzionare il tutto, posto i codici per gli eventuali interessati:
inserisci.php
Codice PHP:
<?
include("config.inc.php");
$db = mysql_connect($host, $username);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($database, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
// 1. Crea la tabella temporanea
$query = "CREATE TABLE tmp_calcetto (
id INT (5) UNSIGNED not null,
goals INT (5) UNSIGNED not null,
vittorie INT (5) UNSIGNED not null,
pareggi INT (5) UNSIGNED not null,
sconfitte INT (5) UNSIGNED not null)";
if (mysql_query($query, $db))
echo "Creazione tabella temporanea eseguita correttamente";
else
echo "Errore durante creazione tabella temporanea";
// 2. Inserisci in questa tabella tutte le coppie ID/Goal ricavate dall'invio del modulo
$query = "INSERT INTO tmp_calcetto (id, goals, vittorie, pareggi, sconfitte) VALUES
(1, '{$_POST['goals1']}', '{$_POST['vittorie1']}', '{$_POST['pareggi1']}', '{$_POST['sconfitte1']}'),
(2, '{$_POST['goals2']}', '{$_POST['vittorie2']}', '{$_POST['pareggi2']}', '{$_POST['sconfitte2']}'),
(3, '{$_POST['goals3']}', '{$_POST['vittorie3']}', '{$_POST['pareggi3']}', '{$_POST['sconfitte3']}'),
(4, '{$_POST['goals4']}', '{$_POST['vittorie4']}', '{$_POST['pareggi4']}', '{$_POST['sconfitte4']}'),
(5, '{$_POST['goals5']}', '{$_POST['vittorie5']}', '{$_POST['pareggi5']}', '{$_POST['sconfitte5']}'),
(6, '{$_POST['goals6']}', '{$_POST['vittorie6']}', '{$_POST['pareggi6']}', '{$_POST['sconfitte6']}'),
(7, '{$_POST['goals7']}', '{$_POST['vittorie7']}', '{$_POST['pareggi7']}', '{$_POST['sconfitte7']}'),
(8, '{$_POST['goals8']}', '{$_POST['vittorie8']}', '{$_POST['pareggi8']}', '{$_POST['sconfitte8']}'),
(9, '{$_POST['goals9']}', '{$_POST['vittorie9']}', '{$_POST['pareggi9']}', '{$_POST['sconfitte9']}'),
(10, '{$_POST['goals10']}', '{$_POST['vittorie10']}', '{$_POST['pareggi10']}', '{$_POST['sconfitte10']}'),
(11, '{$_POST['goals11']}', '{$_POST['vittorie11']}', '{$_POST['pareggi11']}', '{$_POST['sconfitte11']}')
";
if (mysql_query($query, $db))
echo "Creazione tabella temporanea eseguita correttamente";
else
echo "Errore durante creazione tabella temporanea";
// 3. Effettua l'aggiornamento
$query = "UPDATE calcetto, tmp_calcetto
SET calcetto.vittorie = calcetto.vittorie + tmp_calcetto.vittorie,
calcetto.pareggi = calcetto.pareggi + tmp_calcetto.pareggi,
calcetto.sconfitte = calcetto.sconfitte + tmp_calcetto.sconfitte,
calcetto.goals = calcetto.goals + tmp_calcetto.goals
WHERE calcetto.id = tmp_calcetto.id";
if (mysql_query($query, $db))
echo "Creazione tabella temporanea eseguita correttamente";
else
echo "Errore durante creazione tabella temporanea";
// 4. Distruggi la tabella temporanea
$query = "DROP TABLE tmp_calcetto";
if (mysql_query ($query, $db))
echo ("Inserimento riuscito!");
else
echo ("Errore nell'inserimento :-(");
if (mysql_query ($query, $db))
echo ("Eliminazione tabella temporanea non riuscita");
?>
modulo.htm
nel frattempo ho anche trovato qualcosa per il checkbox di cui parlavo ma non so dove mettere mano.....sarebbe interessante poter mettere il checkbox al posto dellìinput per vittorie, pareggi e sconfitte, facendo si che dove ci sarà poi il segno di spunta verrà assegnato valore 1 per incrementare di 1 le vittorie, i pareggi o le sconfitte per il giocatore sceso in campoCodice HTML:<html> <head> <meta name="robots" content="noindex"> <meta http-equiv="Content-Language" content="it"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Modulo inserimento statistiche giocatori calcetto</title> </head> <body> <FORM METHOD="post" ACTION="inserisci.php"> <table border="1" width="100%" style="border-collapse: collapse" id="table1"> <tr> <td width="15%" align="center"><b>COGNOME</b></td> <td width="15%" align="center"><b>NOME</b></td> <td width="15%" align="center"><b>GOALS</b></td> <td width="15%" align="center"><b>VITTORIE</b></td> <td width="15%" align="center"><b>PAREGGI</b></td> <td width="15%" align="center"><b>SCONFITTE</b></td> </tr> <tr> <td width="15%">NASTARI</td> <td width="15%">Raffaele</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals1" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie1" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi1" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte1" size="5"></td> </tr> <tr> <td width="15%">COVA</td> <td width="15%">Simone</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals2" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie2" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi2" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte2" size="5"></td> </tr> <tr> <td width="15%">GIACOMETTI</td> <td width="15%">Maurizio</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals3" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie3" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi3" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte3" size="5"></td> </tr> <tr> <td width="15%">POMATI</td> <td width="15%">Davide</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals4" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie4" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi4" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte4" size="5"></td> </tr> <tr> <td width="15%">CERESA</td> <td width="15%">Francesco</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals5" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie5" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi5" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte5" size="5"></td> </tr> <tr> <td width="15%">GIOIA</td> <td width="15%">Daniele</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals6" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie6" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi6" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte6" size="5"></td> </tr> <tr> <td width="15%">AVVISATO</td> <td width="15%">Francesco</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals7" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie7" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi7" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte7" size="5"></td> </tr> <tr> <td width="15%">TERRANOVA</td> <td width="15%">Marco</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals8" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie8" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi8" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte8" size="5"></td> </tr> <tr> <td width="15%">TURRI</td> <td width="15%">Matteo</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals9" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie9" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi9" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte9" size="5"></td> </tr> <tr> <td width="15%">...</td> <td width="15%">...</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals10" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie10" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi10" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte10" size="5"></td> </tr> <tr> <td width="15%">...</td> <td width="15%">...</td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="goals11" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="vittorie11" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="pareggi11" size="5"></td> <td width="15%" align="center"> <INPUT TYPE="text" NAME="sconfitte11" size="5"></td> </tr> </table> <INPUT TYPE="submit" VALUE="Inserisci"> </p> </FORM> </body> </html>
http://www.giorgiotave.it/forum/php-...-database.html
*****
se volessi invece realizzare la pagina inserisci.php creando un ciclo invece che scrivere materialmente tutte le righe per ogni id?
in modo che mi crea il form per inserimento dati prendeno i dati dal database e dandomi la possibilità di inserire un nuovo giocatore se non è ancora presente nel database
[DS] Non inviare messaggi consecutivi, usa la funzione EDIT del forum... e due!
Ultima modifica di dementialsite : 07-12-2006 alle ore 10.29.44
Ti scrivo qui di seguito le modifiche... la pagina del modulo diventerà in PHP e richiederà un'altra query per estrarre i nomi dal database:
Pagina modulo.php:Pagina inserisci.php:Codice PHP:
<FORM METHOD="post" ACTION="inserisci.php">
<table border="1" width="100%" style="border-collapse: collapse" id="table1">
<tr>
<td width="15%" align="center"><b>COGNOME</b></td>
<td width="15%" align="center"><b>NOME</b></td>
<td width="15%" align="center"><b>GOALS</b></td>
<td width="15%" align="center"><b>VITTORIA</b></td>
<td width="15%" align="center"><b>PAREGGIO</b></td>
<td width="15%" align="center"><b>SCONFITTA</b></td>
</tr>
<?php
$query = "SELECT Nome, Cognome FROM Tabella ORDER BY Id";
$result = mysql_query ($query, $db);
$i = 0;
while ($line = mysql_fetch_array ($result))
{
$i++;
echo '<tr>';
echo '<td width="15%">' . $line['Cognome'] . '</td>';
echo '<td width="15%">' . $line['Nome'] . '</td>';
echo '<td width="15%" align="center"> <INPUT TYPE="text" NAME="goals' . $i . '" size="5"></td>';
echo '<td width="15%" align="center">';
echo '<INPUT TYPE="radio" NAME="result' . $i . '" VALUE="4"></td>';
echo '<td width="15%" align="center">';
echo '<INPUT TYPE="radio" NAME="result' . $i . '" VALUE="2"></td>';
echo '<td width="15%" align="center">';
echo '<INPUT TYPE="radio" NAME="result' . $i . '" VALUE="1"></td>';
echo '</tr>';
}
?>
</table> <INPUT TYPE="submit" VALUE="Inserisci"> </p> </FORM>Se non mi sono incasinato a scrivere le stringhe, dovrebbe funzionare tutto (anche con i pulsanti radio sul modulo!).Codice PHP:
<?
include("config.inc.php");
$db = mysql_connect($host, $username);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($database, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
// 1. Crea la tabella temporanea
$query = "CREATE TABLE tmp_calcetto (
id INT (5) UNSIGNED not null,
goals INT (5) UNSIGNED not null,
vittorie INT (5) UNSIGNED not null,
pareggi INT (5) UNSIGNED not null,
sconfitte INT (5) UNSIGNED not null)";
if (mysql_query($query, $db))
echo "Creazione tabella temporanea eseguita correttamente";
else
echo "Errore durante creazione tabella temporanea";
// 2. Inizia la costruzione della query di inserimento...
$query = "INSERT INTO tmp_calcetto (id, goals, vittorie, pareggi, sconfitte) VALUES ";
$i = 0;
while (!isset ($_POST['goals' . ++$i]))
{
$values = '(' . $i . ', ' . $_POST['goals' . $i] . ', ';
switch ($_POST['result' . $i])
{
case '4': $values .= '1, 0, 0), '; break;
case '2': $values .= '0, 1, 0), '; break;
case '1': $values .= '0, 0, 1), '; break;
}
$query .= $values;
}
// ... poi elimina l'ultima virgola di troppo e la esegue
$query = substr ($query, 0, strlen ($query) - 2);
if (mysql_query($query, $db))
echo "Inserimento dati in tabella temporanea eseguito correttamente";
else
echo "Errore durante inserimento dati in tabella temporanea";
// 3. Effettua l'aggiornamento
$query = "UPDATE calcetto, tmp_calcetto
SET calcetto.vittorie = calcetto.vittorie + tmp_calcetto.vittorie,
calcetto.pareggi = calcetto.pareggi + tmp_calcetto.pareggi,
calcetto.sconfitte = calcetto.sconfitte + tmp_calcetto.sconfitte,
calcetto.goals = calcetto.goals + tmp_calcetto.goals
WHERE calcetto.id = tmp_calcetto.id";
if (mysql_query($query, $db))
echo "Aggiornamento del database eseguito correttamente";
else
echo "Errore durante aggiornamento del database";
// 4. Distruggi la tabella temporanea
$query = "DROP TABLE tmp_calcetto";
if (mysql_query ($query, $db))
echo ("Operazione completata!");
else
echo ("Eliminazione della tabella temporanea non riuscita :-(");
?>
Stammi bene...
Ultima modifica di dementialsite : 07-12-2006 alle ore 10.55.02
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
purtroppo non funziona e poi non ho capito per i pulsanti radio il valore VALUE..
per me deve essere sempre uno, se viene messo il pallino il valore di incremento deve essere 1....
Ultima modifica di FantaGalla : 07-12-2006 alle ore 16.06.41
Ti visualizza qualche errore? Prova a anche a scrivere la query eseguita e l'eventuale errore dichiarato da MySQL usando la funzione mysql_error(), ad esempio:Originalmente inviato da FantaGallaCodice PHP:
echo "Errore durante creazione tabella temporanea<br>Query: " . $query . "<br>Errore: " . mysql_error();
Allora, da qualche altra parte ti ho già spiegato che, perché possano escludersi a vicenda, i pulsanti radio devono avere lo stesso nome (almeno mi pare di buon senso che un giocatore non possa contemporaneamente vincere e/o perdere e/o pareggiare... :-D). Il valore quindi resta l'unico modo che hai per distinguere quale sia il pulsante che hai cliccato alla pagina prima: se esamini attentamente il codice vedi che nella query di inserimento viene correttamente scritto 1 dove bisogna incrementare e 0 dove non serve...Originalmente inviato da FantaGalla
Stammi bene...
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
Query: INSERT INTO tmp_calcetto (id, goals, vittorie, pareggi, sconfitte) VALUE
Errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
forse manca una parentesi in questa riga del file inserisci.php:
Codice PHP:
$values = '(' . $i . ', ' . $_POST['goals' . $i] . ', ';
Ultima modifica di FantaGalla : 08-12-2006 alle ore 16.15.14
Quando l'ho vista così la query, ho trovato subito l'errore : praticamente il ciclo non viene eseguito (non fa una piega: almeno 'goals1' la avrai inviata come variabile...) e viene tolta l'ultima S della query, causando l'errore.Originalmente inviato da FantaGalla
Soluzione: devi togliere il punto esclamativo da questo ciclo:Stammi bene...Codice:while (!isset ($_POST['goals' . ++$i])) { $values = '(' . $i . ', ' . $_POST['goals' . $i] . ', '; switch ($_POST['result' . $i]) { case '4': $values .= '1, 0, 0), '; break; case '2': $values .= '0, 1, 0), '; break; case '1': $values .= '0, 0, 1), '; break; } $query .= $values; }
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
adesso, dopo aver effettuato la tua correzione, da come errore:
Errore durante inserimento dati nella tabella temporanea
Query: INSERT INTO tmp_calcetto (id, goals, vittorie, pareggi, sconfitte) VALUES (1, , 0, 1, 0), (2, , 0, 1, 0), (3, , 0, 1, 0), (4, , 0, 1, 0), (5, , 0, 1, 0), (6, , (7, , (8, , (9,
Errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 0, 1, 0), (2, , 0, 1, 0), (3, , 0, 1, 0), (4, , 0, 1, 0), (5, ,
Da come la scrivi, sembra che manchi il valore delle variabili "goals1", "goals2", etc. Ma non capisco come faccia ad accettarti il ciclo (trovando cioè le variabili impostate) ma a non concatenare correttamente i valori. L'unico caso che mi viene in mente è quando la casella "goals" viene inviata come vuota: ci hai inserito qualche valore (numerico corretto, penserai/penseremo più avanti a fare anche quel controllo)?
Altra cosa: vedo che più avanti non viene neanche concatenata la terna che dovrebbe aggiornare la tabella (i codici 1 e 0 che trovi per incrementare vittorie, pareggi, sconfitte). Tieni presente che (sempre almeno per adesso) devi compilare obbligatoriamente tutti i campi, altrimenti lo script non funzionerà.
Stammi bene...
Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?
When you don't know your next step... improvise
ALTERVISTA WANTS YOU!
Vuoi diventare moderatore su AlterVista? Scopri come...
inserendo tutti i valori in tutti i campi me lo accetta...però a me interessa riempire solo i campi interessati e quindi poter passare dei campi vuoti...
anche perchè, nel caso in cui uno dei giocatori della rosa non gioca chiaramente non mi interessa segnare il risultato ottenuto per lui, in quanto assente
se il campo è tipo testo metti "", se numerico 0. Prova