Visualizzazione risultati 1 fino 8 di 8
Like Tree1Likes
  • 1 Post By alemoppo

Discussione: Come scrivere un codice che utilizi solo l'ultimo record di un database?

  1. #1
    FantaCastor non è connesso Neofita
    Data registrazione
    23-09-2013
    Messaggi
    29

    Question Come scrivere un codice che utilizi solo l'ultimo record di un database?

    Salve a tutti,

    Mi serve un codice che prenda in considerazione solo il record più recente di un database in modo che solo quei dati specifici vengano identificati come variabili e così che io possa aggiore i dati volta per volta senza dover necessariamente tenere di conto di tutto il database.

    Questo è come si comporta il codice in discussione: una volta premuto dato l'input aggiunge record al database e fin qui ok:

    Codice PHP:
    <?php
    $conn
    =mysql_connect("localhost", "", "") or die(mysql_error());
    $sele=mysql_select_db("", $conn) or die(mysql_error());

    $ct_selezionato=$_POST["selezione_ct"];
    $ct1_selezionatoRIS=$_POST["selezione_ct1"];

    if(
    $ct_selezionato!=="" and $ct1!=="")
    {

    {
    $stringa="insert into allenatori(visual_allenatore, visual_allenatore1, data_ora) values('$ct_selezionato', '$ct1_selezionatoRIS', now())";

    mysql_query($stringa) or die(mysql_error());

    header('Location: http://......php');}
    ;}

    else { echo
    "errore";} ?>

    in tal modo pero quando utilizzo il codice seguente, viene visualizzato tutto il database:

    Codice PHP:
    <?php
    $conn
    =mysql_connect("localhost", "my_fantacastor", "") or die(mysql_error());
    $sele=mysql_select_db("my_fantacastor", $conn) or die(mysql_error());
    $selezione=mysql_query("select visual_allenatore, visual_allenatore1, date_format(data_ora, '%d/%m/%Y alle ore %H:%i:%s') as data from allenatori_alin") or die(mysql_error());
    if(
    mysql_num_rows($selezione)>0){
    while(
    $array=mysql_fetch_assoc($selezione))
    {
    $allenatore=$array["visual_allenatore"];
    $allenatore1=$array["visual_allenatore1"];
    $ora=$array["data"];


    echo
    "<p>

    <font size='3' color='red'>Allenatori:<br></font>
    <font size='3'>
    <u>Panchina:</u> <b>
    $allenatore</b><br>
    <u>Riserva:</u> <b>(
    $allenatore1)</b>.
    </font>
    <br>
    <font size='2' face='comic sans ms' color='blue'>
    Aggiornamento il
    $ora<br>
    </font>
    </p> <hr>
    "
    ;};}

    else {echo
    "vuoto";}
    ?>
    <a name="last"></a>

    in Particolare io vorrei sapere come poter utilizzare solo l'ultimo record di un database, in realtà i codici che ho scritto qui vanno bene così come sono. Mi interessa perché avevo intenzione di creare un grafico il quale però deve essere aggiornato volta per volta e non può tener di conto dell'intero database. Grazie (mi scuso per eventuali errori di lessico/ sintassi/etc. etc. ma vado di fretta e non ho riletto)

  2. #2
    Guest

    Predefinito

    Non puoi usare query ="SELECT LAST(visual_allenatore etc..etc...) as data from allenatori_alin" ?

  3. #3
    FantaCastor non è connesso Neofita
    Data registrazione
    23-09-2013
    Messaggi
    29

    Predefinito

    Ok ora provo! Grazie

  4. #4
    FantaCastor non è connesso Neofita
    Data registrazione
    23-09-2013
    Messaggi
    29

    Predefinito

    Unknown column 'LAST' in 'field list' errore riportato

    Codice PHP:
    $selezione=mysql_query("SELECT LAST gabrielev, gabrielepe, gabrielepa from statistiche") or die(mysql_error());

  5. #5
    Guest

    Predefinito

    dopo LAST ci vuole la parentesi i campi vanno dentro parentesi tonde LAST(gabrielev, gabrielepe, gabrielepa)

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,752

    Predefinito

    LAST() è una funzione, se guardi bene fractalcosmo ha messo anche delle parentesi con l'argomento.

    Comunque puoi fare anche ordinarle per data_ora in modo decrescente e prendere solo il primo risultato:

    Codice PHP:
    select visual_allenatore, visual_allenatore1, date_format(data_ora, '%d/%m/%Y alle ore %H:%i:%s') as data from allenatori_alin ORDER BY data_ora DESC LIMIT 1
    EDIT: anticipato. Lascio per un'altra soluzione.

    Ciao!
    FantaCastor likes this.

  7. #7
    Guest

    Predefinito

    Però forse last non gliela prende anche se mette le parentesi forse è meglio order by...

  8. #8
    FantaCastor non è connesso Neofita
    Data registrazione
    23-09-2013
    Messaggi
    29

    Predefinito

    Grazie ho risolto con l'ordinamento cronologico.

Tags for this Thread

Regole di scrittura

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