Visualizzazione risultati 1 fino 6 di 6

Discussione: Aiuto per form inserimento dati

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

    Predefinito Aiuto per form inserimento dati

    ho questa pagina col form di inserimento campi:

    Codice PHP:
    <FORM METHOD="post" ACTION="inserisci_portieri.php">
    <table border="1" width="400px" style="border-collapse: collapse" id="table1"> 
    <tr>
      <td width="40%" align="center"><b>COGNOME</b></td>
      <td width="40%" align="center"><b>NOME</b></td>
      <td width="20%" align="center"><b>GOALS SUBITI</b></td>
    </tr>
    <?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");

    $query "SELECT cognome, nome FROM calcetto ORDER BY id";

    $result mysql_query ($query$db);

    $i 0;
    while (
    $line mysql_fetch_array ($result))
    {
       
    $i++;
       echo 
    '<tr>';
       echo 
    '<td width="40%">' $line['cognome'] . '</td>';
       echo 
    '<td width="40%">' $line['nome'] . '</td>';
       echo 
    '<td width="20%" align="center"> <INPUT TYPE="text" NAME="subiti' $i '" size="5"></td>';
       echo 
    '</tr>';
    }
    $new_player 0// qui il numero di nuovi giocatori
    for ($j 1$j <= $new_player$j++)
    {
       
    $i++;
       echo 
    '<td width="40%"><input type="text" name="cognome' $j '"></td>';
       echo 
    '<td width="40%"><input type="text" name="nome' $j '"></td>';
       echo 
    '<td width="20%" align="center"> <INPUT TYPE="text" NAME="subiti' $i '" size="5"></td>';
       echo 
    '</tr>';
    }
    ?>
    </table> <INPUT TYPE="submit" VALUE="Inserisci"> </p> </FORM>
    e questa che invia i dati al database:

    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_portieri (
       id INT (5) UNSIGNED not null,
       subiti 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_portieri (id, subiti) VALUES ";
    $i 0;
    while (isset (
    $_POST['subiti' . ++$i]))
    {
    if (
    $_POST['subiti' $i] == '' || $_POST['subiti' $i] == NULL)
          
    $values '(' $i ', 0), ';
       else
       
    $values '(' $i ', ' $_POST['subiti' $i] . '), ';
       
    $query .= $values;
    }

    // ... poi elimina l'ultima virgola di troppo e la esegue
    $query substr ($query0strlen ($query) - 2);

    if (
    mysql_query($query$db))
       echo 
    "Inserimento dati in tabella temporanea eseguito correttamente";
    else
       echo 
    "Errore durante inserimento dati nella tabella temporanea"

    // 3. Effettua l'aggiornamento
    $query "UPDATE calcetto, tmp_portieri
    SET calcetto.subiti = calcetto.subiti + tmp_portieri.subiti
    WHERE calcetto.id = tmp_portieri.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_portieri";

    if (
    mysql_query ($query$db))
       echo (
    "Operazione completata!");
    else
       echo (
    "Eliminazione della tabella temporanea non riuscita :-(");  
    ?>

    vorrei aggiungere un altro campo nel form che mi permetta di inserire il valore 1 coem presenza (meglio se fosse fatto con un pallino da spuntare che in posizioone di default e su 0 ma posso selezionare il valore 1 se il portiere presente)
    nel database ho gi il campo 'presenza'

  2. #2
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Per il form puoi fare cos:
    Codice PHP:
    <FORM METHOD="post" ACTION="inserisci_portieri.php">
    <table border="1" width="400px" style="border-collapse: collapse" id="table1"> 
    <tr>
      <td width="35%" align="center"><b>COGNOME</b></td>
      <td width="35%" align="center"><b>NOME</b></td>
      <td width="20%" align="center"><b>GOALS SUBITI</b></td>
      <td width="10%" align="center"><b>PRESENZA</b></td>
    </tr>
    <?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");

    $query "SELECT cognome, nome FROM calcetto ORDER BY id";

    $result mysql_query ($query$db);

    $i 0;
    while (
    $line mysql_fetch_array ($result))
    {
       
    $i++;
       echo 
    '<tr>';
       echo 
    '<td width="35%">' $line['cognome'] . '</td>';
       echo 
    '<td width="35%">' $line['nome'] . '</td>';
       echo 
    '<td width="20%" align="center"> <INPUT TYPE="text" NAME="subiti' $i '" size="5"></td>';
       echo 
    '<td width="10%">Si<input type="radio" name="presenza' $i .'" value="1" /> No<input type="radio" name="presenza' $i .'" value="0" checked="checked" /></td>';
       echo 
    '</tr>';
    }
    $new_player 0// qui il numero di nuovi giocatori
    for ($j 1$j <= $new_player$j++)
    {
       
    $i++;
       echo 
    '<td width="35%"><input type="text" name="cognome' $j '"></td>';
       echo 
    '<td width="35%"><input type="text" name="nome' $j '"></td>';
       echo 
    '<td width="20%" align="center"> <INPUT TYPE="text" NAME="subiti' $i '" size="5"></td>';
    echo 
    '<td width="10%">Si<input type="radio" name="presenza' $i .'" value="1" /> No<input type="radio" name="presenza' $i .'" value="0" checked="checked" /></td>';
       echo 
    '</tr>';
    }
    mysql_close($db); 
    ?>
    </table> <INPUT TYPE="submit" VALUE="Inserisci"> </p> </FORM>
    e per aggiornare il db:
    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_portieri (
       id INT (5) UNSIGNED not null,
       subiti INT (5) UNSIGNED not null,
       presenza binary(1) 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_portieri (id, subiti, presenza) VALUES ";
    $i 0;
    while (isset (
    $_POST['subiti' . ++$i]) && isset ($_POST['presenza' $i]))
    {
    if (
    $_POST['subiti' $i] == '' || $_POST['subiti' $i] == NULL)
          
    $values '(\'' $i '\', 0, \''.mysql_real_escape_string($_POST['presenza' $i]).'\'), ';
       else
       
    $values '(\'' $i '\', \'' mysql_real_escape_string($_POST['subiti' $i]) . '\', \'' mysql_real_escape_string($_POST['presenza' $i]) . '\'), ';
       
    $query .= $values;
    }

    // ... poi elimina l'ultima virgola di troppo e la esegue
    $query substr ($query0strlen ($query) - 2);

    if (
    mysql_query($query$db))
       echo 
    "Inserimento dati in tabella temporanea eseguito correttamente";
    else
       echo 
    "Errore durante inserimento dati nella tabella temporanea"

    // 3. Effettua l'aggiornamento
    $query "UPDATE calcetto, tmp_portieri
    SET calcetto.subiti = calcetto.subiti + tmp_portieri.subiti, calcetto.presenza = tmp_portieri.presenza
    WHERE calcetto.id = tmp_portieri.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_portieri";

    if (
    mysql_query ($query$db))
       echo (
    "Operazione completata!");
    else
       echo (
    "Eliminazione della tabella temporanea non riuscita :-(");  
    mysql_close($db); 
    ?>

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

    Predefinito

    PROBLEMA:

    cos mi non mi somma la presenza segnalata come portiere a quelle gi mmorizzate nel database

  4. #4
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Ma nel database vuoi salvato il numero di presenze?

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

    Predefinito

    ho risolto, era qui da modificare cos:

    calcetto.portiere = calcetto.portiere + tmp_portieri.portiere

  6. #6
    L'avatar di andreafallico
    andreafallico non  connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Forse volevi dire calcetto.presenza = calcetto.presenza + tmp_portieri.presenza

Regole di scrittura

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