SELECT prefix_tab_uno.first_name, prefix_tab_uno.last_name, prefix_tab_due.t_name, prefix_tab_tre.fvalue FROM prefix_tab_uno INNER JOIN prefix_tab_tre ON prefix_tab_uno.id = prefix_tab_tre.uid INNER JOIN prefix_tab_due ON prefix_tab_uno.team_id = prefix_tab_due.id WHERE LEFT (prefix_tab_tre.fvalue, 5) = DATE_FORMAT(NOW(), '%d/%m') |
<?php
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('u.first_name', 'u.last_name', 'd.t_name', 't.fvalue')));
$query->from($db->quoteName('#__tab_uno', 'u'));
$query->join('INNER', $db->quoteName('#__tab_tre', 't') . ' ON (' . $db->quoteName('t.uid') . ' = ' . $db->quoteName('u.id') . ')');
$query->join('INNER', $db->quoteName('#__tab_due', 'd') . ' ON (' . $db->quoteName('d.id') . ' = ' . $db->quoteName('u.team_id') . ')');
$query->where($db->quoteName('t.fvalue') . ' LIKE \''.$db->escape('14/12').'%\''); <-- DA SISTEMARE
$db->setQuery($query);
$results = $db->loadObjectList();
print_r($results);
?>
$db->setQuery("UPDATE #__componente SET qualcosa = 1, orario = NOW() WHERE id = ".$var);
$result = $db->query();
Ovviamente la funzione di esecuzione della query varia in base all'operazione che stai effettuando (inserimento, aggiornamento, interrogazione, eliminazione, ecc..)
where ( day(t.fvalue)=day(now()) and month(t.fvalue)=month(now()) )
ciao,immagino che t.fvalue sia la data di nascita e voglio sperare che sia un campo di tipo data (date, datetime, timestamp), in tal caso la condizione diventa
<?php
// FUNZIONA !!!!!!!!!!!!!!!!!!!!
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('u.first_name', 'u.last_name', 'd.t_name', 't.fvalue')));
$query->from($db->quoteName('#__bl_players', 'u'));
$query->join('INNER', $db->quoteName('#__bl_extra_values', 't') . ' ON (' . $db->quoteName('t.uid') . ' = ' . $db->quoteName('u.id') . ')');
$query->join('INNER', $db->quoteName('#__bl_teams', 'd') . ' ON (' . $db->quoteName('d.id') . ' = ' . $db->quoteName('u.team_id') . ')');
// cerca la stringa che comincia con la data indicata
$query->where("t.fvalue LIKE '".date("d")."/".date("m")."%'");
$db->setQuery($query);
$results = $db->loadObjectList();
print_r($results);
?>