Visualizzazione dei risultati da 1 a 3 su 3

Discussione: ottimizzare il codice

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    ottimizzare il codice

    Ho il seguente codice che devo riuscire ad ottimizzare.. diminuire il numero di query.. risucire ad unire la query4 con la query3 se è possibile... o cmq migliorare questo codice... qualcuno mi può dai una mano?

    codice:
    CREATE TABLE IF NOT EXISTS `athletes_1` (
      `data_inserimento` datetime NOT NULL,
      `teamId` int(11) NOT NULL,
      `athleteId` int(11) NOT NULL,
      `name` varchar(255) NOT NULL,
      `surname` varchar(255) NOT NULL,
      `form` int(11) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
    --
    -- Dump dei dati per la tabella `athletes_1`
    --
    
    INSERT INTO `athletes_1` (`data_inserimento`, `teamId`, `athleteId`, `name`, `surname`, `form`) VALUES
    ('2011-05-07 12:08:13', 8, 2, 'Lisa', 'Politi', 14),
    ('2011-05-04 00:21:47', 8, 2, 'Lisa', 'Politi', 17),
    ('2011-05-07 12:08:13', 8, 1, 'Andrea', 'Torrone', 20),
    ('2011-05-04 00:21:47', 8, 3, 'Marco', 'De Marchi', 17),
    ('2011-05-07 12:08:13', 8, 3, 'Marco', 'De Marchi', 19);
    Codice PHP:
    // ricavo la data piu recente con MAX e quella piu vecchia con MIN
    $sql "SELECT MAX(data_inserimento) AS data_rec, MIN(data_inserimento) AS data_vec FROM athletes_1 WHERE teamId=8";
    $query mysql_query($sql);
    $row mysql_fetch_array($query);

    // mostro la lista degli atleti salvati in questa settimana
    $sql3 "SELECT * FROM athletes_1 WHERE teamId='8' AND data_inserimento='" $row['data_rec'] . "'";
    $query3 mysql_query($sql3);
    while (
    $row3 mysql_fetch_array($query3)) {

    // ricavo informazioni del determinato atleta però della settimana precedente per confrontarlo
    $sql4 "SELECT * FROM athletes_1 WHERE athleteId = '" $row3['athleteId'] . "' AND teamId='" $row3['teamId'] . "' AND data_inserimento='" $row['data_vec'] . "'";
    $query4 mysql_query($sql4);
    $row4 mysql_fetch_array($query4);

    $form_vec = isset($row4['form']) ? $row4['form'] : 0;

    // confronto settimane
    echo "Piu recente " $row3['form'] ."
    "
    ;
    echo 
    "Piu vecchio " $form_vec ."
    "
    ;



  2. #2

  3. #3

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.