ottimizzare codice

  • Creatore Discussione Creatore Discussione torrone
  • Data di inizio Data di inizio

torrone

Nuovo Utente
28 Nov 2006
6
0
0
33
Padova
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? :dhò:

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);

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'] ."<br />";
echo "Piu vecchio " . $form_vec ."<br />";

}
 
primo suggerimento:

invece di

PHP:
$sql = "SELECT MAX(data_inserimento) AS data_rec, MIN(data_inserimento) AS data_vec FROM athletes_1 WHERE teamId=8";
$query = mysql_query($sql);

passa direttamente l'SQL a mysql_query()
 
primo suggerimento:

invece di

PHP:
$sql = "SELECT MAX(data_inserimento) AS data_rec, MIN(data_inserimento) AS data_vec FROM athletes_1 WHERE teamId=8";
$query = mysql_query($sql);

passa direttamente l'SQL a mysql_query()

Grazie :) qualche suggerimento per unire la query3 con la 4?
 

Discussioni simili