Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 48

Discussione: Inserire dati nel database tramite form php

  1. #1
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito Inserire dati nel database tramite form php

    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

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    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

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da dementialsite
    Non è così difficile, dai...

    Pagina modulo.htm:
    Codice HTML:
    <FORM METHOD="post" ACTION="inserisci.php">
    Campo 1:
    <INPUT TYPE="text" NAME="campo1">
    Campo 2:
    <INPUT TYPE="text" NAME="campo2">
    <!-- inserisci allo stesso modo tutti i campi che ti servono... -->
    <INPUT TYPE="submit" VALUE="Inserisci">
    </FORM>
    Pagina inserisci.php:
    Codice PHP:
    $query = "INSERT INTO nome_tabella (nome_campo1, nome_campo2, ...) VALUES ('{$_POST['campo1']}', '{$_POST['campo2']}', ...)";

    if (
    mysql_query ($query, $db))
    echo (
    "Inserimento riuscito!");
    else
    echo (
    "Errore nell'inserimento :-(");
    Stammi bene...
    ricordati che $db lo devi collegare ai dati del mysql

  4. #4
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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

  5. #5
    Guest

    Predefinito

    allora nn ti posso aiutare...
    mi disp..
    ciau!

  6. #6
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito Operazioni matematiche nel database e inserimento dati



    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

  7. #7
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    non si vede l'immagine...

  8. #8
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    OK, ora si vede

  9. #9
    Guest

    Predefinito

    ma è excel o mysql?

  10. #10
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    questo è mysql....
    visto che con excel non trovavo soluzioni...

  11. #11
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    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?

  12. #12
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Citazione Originalmente inviato da FantaGalla


    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
    crei i tuoi form,crei una tabella unica(x semplificare),
    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

  13. #13
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    potresti dirmi il codice vero e proprio?
    non so nulla di php, tranne quello che trovo e scopiazzo in giro...

  14. #14
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    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:
    Codice:
    SELECT *, goals / presenze AS media_goal
    FROM Tabella
    WHERE ...
    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:
    // 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
    Spero di avertela adattata correttamente al tuo caso...

    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...

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da FantaGalla
    potresti dirmi il codice vero e proprio?
    non so nulla di php, tranne quello che trovo e scopiazzo in giro...
    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...

  16. #16
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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:

    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);
    ?>
    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?
    Ultima modifica di dementialsite : 05-12-2006 alle ore 10.49.18

  17. #17
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da FantaGalla
    ...
    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...
    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?

    Allora dovresti modificare le query nel modo seguente:
    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_table
    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.
    Citazione Originalmente inviato da FantaGalla
    ho provato ad utilizzare il codice fornitomi e l'ho corretto in base a qualcosa trovato in rete, così funziona:
    [omissis]
    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?
    La pagina forse sarà meno pesante ma non risparmi in termini di query, sempre 3 sono...

    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...

  18. #18
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    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

  19. #19
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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

  20. #20
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Guarda che OGNI VOLTA devi eseguire la query che ti costruisci:
    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");
    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...

  21. #21
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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

    Codice 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>
    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 campo

    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

  22. #22
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    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:
    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>
    Pagina 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. 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 :-(");
    ?>
    Se non mi sono incasinato a scrivere le stringhe, dovrebbe funzionare tutto (anche con i pulsanti radio sul modulo!).

    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...

  23. #23
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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

  24. #24
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da FantaGalla
    purtroppo non funziona ...
    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:
    Codice PHP:
    echo "Errore durante creazione tabella temporanea<br>Query: " . $query . "<br>Errore: " . mysql_error();
    Citazione Originalmente inviato da FantaGalla
    ... 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....
    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...

    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...

  25. #25
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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

  26. #26
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da FantaGalla
    Query: INSERT INTO tmp_calcetto (id, goals, vittorie, pareggi, sconfitte) VALUE
    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.

    Soluzione: devi togliere il punto esclamativo da questo ciclo:
    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;
    }
    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...

  27. #27
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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, ,

  28. #28
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    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...

  29. #29
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    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

  30. #30
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    se il campo è tipo testo metti "", se numerico 0. Prova

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •