Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema sulle condizioni IF

    Ciao a tutti!

    Ho creato una pagina PHP dalla quale gli amministratori del sito possono inserire le statistiche dei calciatori per ogni partita fatta (voto, gol fatti, ammonizioni, ...). Nel primo campo della pagina ho quindi creato un menu a tendina con indicate tutte le partite del campionato (Giornata1, Giornata2, Giornata3, ...) così che l'amministratore prima di inserire i dati deve indicare per quale partita inserisce le statistiche dei giocatori. Ora, siccome ci sono più amministratori, vorrei fare in modo che il primo amministratore che compila la tabella MySQL per una specifica giornata impedisce agli altri amministratori di inserire ancora dati per quella giornata. Perché altrimenti se il primo amministratore assegna un gol al giocatore "X", e poi un secondo amministratore inserisce i dati della giornata, il giocatore "X" avrebbe nella statistica 2 gol, mentre che ne ha fatto solamente uno.

    Quindi, se prendiamo come riferimento la prima giornata di campionato, se un amministratore ha già inserito le statistiche nel database, allora nel primo campo ci sarà scritto "Giornata1". Io vorrei fare in modo che prima di inserire i dati dal form, ci fosse la verifica che nel primo campo della tabella non c'è scritto "Giornata1"; se così fosse, l'amministratore può completare la tabella, altrimenti, nel caso ci fosse già scritto "Giornata1" vorrebbe dire che qualcuno ha già inserito le statistiche prima di lui e quindi non si devono inserire altri dati.

    Ma come si fa a verificare questa condizione?

    Altrimenti si potrebbe fare anche in modo che ogni volta che si inseriscono dei dati per una giornata specifica (ad esempio: "Giornata1"), prima dell'inserimento dei dati viene automaticamente eliminata la riga nella tabella contente il valore "Giornata1". Così facendo, al posto di "clonare" i dati di una sola giornata non si farebbe altro che "riscrivere" la giornata...

    Non so cosa sia più facile... sinceramente sono un po' ignorante in materia... sono alle prime armi e aspetto un vostro suggerimento!

    Saluti!

  2. #2
    ora non so di preciso come hai organizzato le tabelle ma quando generi la pagina, fai una query al db e tutte le giornate restituite NON le inserisci nel menù a tendina. Così se una giornata è già stata inserita semplicemente non sarà selezionabile dall'utente.

    Altrimenti altra soluzione più completa può essere quella di fare una richiesta ajax al server ogni volta che viene selezionata una giornata, che sono tutte presenti nel menù a tendina. La risposta permetterà di inserire i dati all'utente se la giornata non è stata ancora inserita, oppure visualizzerà i dati che precedentemente sono stati immessi.
    Ti devi scrivere solo qualche riga javascript

  3. #3
    ciao e grazie mille per la risposta velocissima!
    purtroppo sono alle prime armi con php e di javascript non so nulla... quindi rimarrei sulla prima scelta, ma non saprei come fare... posto quello che ho fatto fin'ora, magari qualcuno può aiutarmi:

    Questa è la pagina per inserire le statistiche (insert.php)
    Codice PHP:
    <form action="send_stat.php" method="POST">
      <
    table width="700" border="0" align="center">
        <
    tr>
          <
    td width="50">[b]Partita:[/b]</td>
          <
    td width="640"><label>
            <
    select name="Giornata" size="1" class="elenco_menu" id="Giornata">
              <
    option value="&quot;&quot;">scegli la giornata</option>
              <
    option value="Giornata1">Giornata1</option>
              <
    option value="Giornata2">Giornata2</option>
              <
    option value="Giornata3">Giornata3</option>
              <
    option value="Giornata4">Giornata4</option>
              <
    option value="Giornata5">Giornata5</option>
              <
    option value="Giornata6">Giornata6</option>
              <
    option value="Giornata7">Giornata7</option>
              <
    option value="Giornata8">Giornata8</option>
              <
    option value="Giornata9">Giornata9</option>
            </
    select>
          </
    label></td>
        </
    tr>
      </
    table>
      

      <
    table width="700" border="0" align="center" class="table_insert">
      <
    tr>
        <
    td width="232" class="table_insert">[b]Nome[/b]</td>
        <
    td width="62" class="table_insert"><div align="center">[b]Presenza[/b]</div></td>
        <
    td width="62" class="table_insert"><div align="center">[b]Voto[/b]</div></td>
        <
    td width="62" class="table_insert"><div align="center">[b]GF[/b]</div></td>
        <
    td width="62" class="table_insert"><div align="center">[b]GS[/b]</div></td>
        <
    td width="62" class="table_insert"><div align="center">[b]Best[/b]</div></td>
        <
    td width="62" class="table_insert"><div align="center">[b]Amm.[/b]</div></td>
        <
    td width="62" class="table_insert"><div align="center">[b]Esp.[/b]</div></td>
        </
    tr>
      <
    tr>
        <
    td class="table_insert">Pinco Pallino </td>
        <
    td class="table_insert"><div align="center">
          <
    input name="Partita" type="checkbox" class="elenco_menu" value="1" />
        </
    div></td>
        <
    td class="table_insert"><div align="center">
          <
    label>
          <
    select name="Me" class="elenco_menu" id="Me">
            <
    option selected="selected">-</option>
            <
    option value="2">2</option>
            <
    option value="2.5">2.5</option>
            <
    option value="3">3</option>
            <
    option value="3.5">3.5</option>
            <
    option value="4">4</option>
            <
    option value="4.5">4.5</option>
            <
    option value="5">5</option>
            <
    option value="5.5">5.5</option>
            <
    option value="6">6</option>
            <
    option value="6.5">6.5</option>
            <
    option value="7">7</option>
            <
    option value="7.5">7.5</option>
            <
    option value="8">8</option>
            <
    option value="8.5">8.5</option>
            <
    option value="9">9</option>
            <
    option value="9.5">9.5</option>
            <
    option value="10">10</option>
          </
    select>
          </
    label>
        </
    div></td>
        <
    td class="table_insert"><div align="center">
          <
    label>
          <
    select name="GF" class="elenco_menu" id="GF">
            <
    option value="0" selected="selected">-</option>
            <
    option value="1">1</option>
            <
    option value="2">2</option>
            <
    option value="3">3</option>
            <
    option value="4">4</option>
            <
    option value="5">5</option>
            <
    option value="6">6</option>
            <
    option value="7">7</option>
            <
    option value="8">8</option>
            <
    option value="9">9</option>
            <
    option value="10">10</option>
          </
    select>
          </
    label>
        </
    div></td>
            <
    td class="table_insert"><div align="center">
          <
    label>
          <
    select name="GS" class="elenco_menu" id="GS">
            <
    option value="0" selected="selected">-</option>
            <
    option value="1">1</option>
            <
    option value="2">2</option>
            <
    option value="3">3</option>
            <
    option value="4">4</option>
            <
    option value="5">5</option>
            <
    option value="6">6</option>
            <
    option value="7">7</option>
            <
    option value="8">8</option>
            <
    option value="9">9</option>
            <
    option value="10">10</option>
          </
    select>
          </
    label>
        </
    div></td>
        <
    td class="table_insert"><div align="center">
          <
    label>
          <
    input name="Best" type="radio" class="elenco_menu" value="1" />
          </
    label>
        </
    div></td>
        <
    td class="table_insert"><div align="center">
          <
    input name="Amm" type="checkbox" class="elenco_menu" value="1" />
        </
    div></td>
        <
    td class="table_insert"><div align="center">
          <
    input name="Esp" type="checkbox" class="elenco_menu" value="1" />
        </
    div></td>
        </
    tr>
      <
    tr>
        <
    td class="table_insert"></td>
        <
    td class="table_insert"></td>
        <
    td class="table_insert"></td>
        <
    td class="table_insert"></td>
        <
    td class="table_insert"></td>
        <
    td class="table_insert"></td>
        <
    td class="table_insert"></td>
        <
    td class="table_insert"><label>
          <
    div align="center">
            <
    input name="Submit" type="Submit" class="elenco_menu" value="Invia" />
            </
    div>
        </
    label></td>
      </
    tr>
        </
    table>
    </
    form
    Questa invece la pagina per implementare la tabella nel database(send_stat.php):
    Codice PHP:
    <?
    $hostname
    ="localhost";
    $username="";
    $password="";
    $database="";

    $Partita=$_POST['Giornata'];
    $Match=$_POST['Partita'];
    $Me=$_POST['Me'];
    $GF=$_POST['GF'];
    $GS=$_POST['GS'];
    $Best=$_POST['Best'];
    $Amm=$_POST['Amm'];
    $Esp=$_POST['Esp'];

    mysql_connect($hostname,$username,$password);
    @
    mysql_select_db($database) or die( "Unable to select database");

    $query "INSERT INTO Dati_Giocatore VALUES ('','$Partita','$Match','$Me','$GF','$GS','$Best','$Amm','$Esp')";
    mysql_query($query);

    mysql_close();
    ?>
    Per ora non ho idee su come fare la verifica... quindi se qualcuno ha qualche idea... Potacchione tu dicevi di "cancellare" la giornata dal menu se era già presente nel database... con questi dati sapresti aiutarmi?

  4. #4
    nessuno mi sa dare una mano?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.