Php Mysql - visualizzare record per anno con menu a tendina

freddie24

Utente Attivo
21 Ott 2011
56
0
0
Ciao a tutti,

ho un database con una tabella "eventi" i cui record sono : ID , data (YYYY-MM-DD) , evento , luogo.

visto che dovrò inserire degli eventi che vanno dal 2000 ad oggi, sarebbe più comodo visualizzarli secondo l'anno tramite un menu a tendina.

ecco il mio codice :

PHP:
<?php
include ("config.php"); 
include ("connect.php"); 

// Get all the data from the "example" table
$result = mysql_query("SELECT * FROM eventi ORDER BY CAST(data AS DATE)") 
or die(mysql_error());  


//echo "<tr> <th>Data</th> <th>   Evento   </th> <th>Luogo</th> </tr>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
	// Print out the contents of each row into a table
		
	echo "<table  width='100%' border='1'>";
  echo"<tr>";
    echo "<th width='10%'>Data</th>";
    echo"<td>";
	echo $row['data'];
	echo"</td>";
  echo"</tr>";
  echo"<tr>";
    echo"<th width='10%'>Luogo</th>";
    echo"<td>";
	echo $row['luogo'];
	echo"</td>";
  echo"</tr>";
  echo"<tr>";
    echo"<th width='10%'>Evento</th>";
    echo"<td>";
	echo $row['evento'];
	echo"</td>";
  echo"</tr>";
echo"</table>";

echo"<br/><br/>";
	
	
} 


?>

Mi aiutate?

Ringrazio in Anticipo
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Una soluzione potrebbe essere questa

PHP:
<?php
include ("config.php"); 
include ("connect.php"); 

// Se è stato scelto l'anno
if (isset($_POST['anno']) && $_POST['anno'] != "") {
    $anno = $_POST['anno'];
} else {
    // altrimenti impostiamo quello corrente
    $anno = date('Y');
}

// Costruiamo la query
$query = "SELECT * FROM eventi WHERE YEAR(data) = '$anno' ORDER BY CAST(data AS DATE)";

$result = mysql_query($query) or die(mysql_error());

echo "<form method='post' action='" . $_SERVER['PHP_SELF'] . "'>\n";

// al cambio verrà inviato il post
echo "<select name='anno' onchange='this.form.submit();'>\n";

for ($i = date('Y'); $i >= 2000; $i--) {
    echo "<option value='$i'";
    if ($anno == $i) {
        echo " selected='selected'";
    }
    echo ">$i</option>\n";
}

echo "</select>\n";

echo "</form>\n";
//echo "<tr> <th>Data</th> <th>   Evento   </th> <th>Luogo</th> </tr>";
// keeps getting the next row until there are no more to get

while ($row = mysql_fetch_array($result)) {
    // Print out the contents of each row into a table
    echo "<table  width='100%' border='1'>";
    echo"<tr>";
    echo "<th width='10%'>Data</th>";
    echo"<td>";
    echo $row['data'];
    echo"</td>";
    echo"</tr>";
    echo"<tr>";
    echo"<th width='10%'>Luogo</th>";
    echo"<td>";
    echo $row['luogo'];
    echo"</td>";
    echo"</tr>";
    echo"<tr>";
    echo"<th width='10%'>Evento</th>";
    echo"<td>";
    echo $row['evento'];
    echo"</td>";
    echo"</tr>";
    echo"</table>";

    echo"<br/><br/>";
}
?>
 

freddie24

Utente Attivo
21 Ott 2011
56
0
0
Ciao Grazie 1000 per l'aiuto!

ho modificato il tuo codice aggiungendo +1 al "ciclo for" perchè in programma potrebbero esserci degli eventi anche nell'anno successivo a quello attuale:

PHP:
//ho aggiunto +1 perchè in programma potrebbero esserci degli eventi anche nell'anno successivo.
for ($i = date('Y')+1; $i >= 2000; $i--)


e se nel menu a tendina volessi visualizzare solo gli anni che contengono degli eventi??? :rolleyes:

questa sarebbe un'ottima soluzione...


Comunque SEMPRE grazie!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Potresti creare un array con gli anni che hai sul db e usarlo per popolare la select

PHP:
<?php
include ("config.php"); 
include ("connect.php");  

// crei un array con gli anni disponibili nel db
$query = "SELECT YEAR(data) as anno FROM `eventi` GROUP BY anno DESC";
$result = mysql_query($query) or die(mysql_error());
$array_anni = array();
while ($anni = mysql_fetch_array($result)) {
    $array_anni[] = $anni['anno'];
}

// Se è stato scelto l'anno
if (isset($_POST['anno']) && $_POST['anno'] != "") {
    $anno = $_POST['anno'];
} else {
    // altrimenti impostiamo quello corrente
    $anno = date('Y');
}

// Costruiamo la query
$query = "SELECT * FROM eventi WHERE YEAR(data) = '$anno' ORDER BY CAST(data AS DATE)";

$result = mysql_query($query) or die(mysql_error());

echo "<form method='post' action='" . $_SERVER['PHP_SELF'] . "'>\n";


// al cambio verrà inviato il post
echo "<select name='anno' onchange='this.form.submit();'>\n";

// Cili l'array degli anni recuperati
foreach ($array_anni as $value) {
    echo "<option value='$value'";
    if ($anno == $value) {
        echo " selected='selected'";
    }
    echo ">$value</option>";
}

echo "</select>\n";

echo "</form>\n";
//echo "<tr> <th>Data</th> <th>   Evento   </th> <th>Luogo</th> </tr>";
// keeps getting the next row until there are no more to get

while ($row = mysql_fetch_array($result)) {
    // Print out the contents of each row into a table
    echo "<table  width='100%' border='1'>";
    echo"<tr>";
    echo "<th width='10%'>Data</th>";
    echo"<td>";
    echo $row['data'];
    echo"</td>";
    echo"</tr>";
    echo"<tr>";
    echo"<th width='10%'>Luogo</th>";
    echo"<td>";
    echo $row['luogo'];
    echo"</td>";
    echo"</tr>";
    echo"<tr>";
    echo"<th width='10%'>Evento</th>";
    echo"<td>";
    echo $row['evento'];
    echo"</td>";
    echo"</tr>";
    echo"</table>";

    echo"<br/><br/>";
}
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Visualizzare immagini in PHP - MYSQL PHP 0
Y VISUALIZZARE IMMAGINI DA DB PHP/MYSQL PHP 7
T php e mysql - visualizzare righe in colonna PHP 4
W [Aiuto PHP Mysql] Script visualizzare a video righe di tabella mysql PHP 2
G Come visualizzare dei valori in modo allineato da un dabatase con PHP e MySQL PHP 18
O [help] estrarre e visualizzare dati da mysql con php a oggetti PHP 6
A Visualizzare foto con PHP+MySQL PHP 3
Z Visualizzare con php/mysql le thumbs PHP 4
C [php/Mysql]Visualizzare immagini PHP 14
P Codifica caratteri speciali mysql php PHP 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
Z MySql injection PHP PHP 1
D problema php mysql PHP 1
D problema php mysql PHP 1
L Google chart php mysql PHP 2
L Aiuto per programma web php/mySQL PHP 2
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
C Aiuto compiuto scuola PHP/MySQL PHP 2
G Problema caricamento tabelle MySql da PhP PHP 0
L update tabelle in php mysql [risolto] PHP 6
F Passare una variabile php dal DB mysql alla pagina PHP 3
B Fare calcoli con php da tabella mysql PHP 2
D [MySQL] [PHP] SQL andare da capo MySQL 0
P [OFFRO] Realizzazione siti web in PHP/MYSQL, responsive e Ottimizzati SEO Offerte e Richieste di Lavoro e/o Collaborazione 0
Tommy03 Firebase o PHP+Mysql? Sviluppo app per Android 0
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
E Cerco programmatore PHP/Mysql - retribuito Offerte e Richieste di Lavoro e/o Collaborazione 0
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
E Inserimento dati da PHP in tabella MySQL PHP 5
R radio input php mysql PHP 2
E Caricare dati da DB MySql all'apertura pagina, meglio PHP o Javascript? PHP 1
giusebos [retribuito] Cercasi programmatore PHP/MySql Offerte e Richieste di Lavoro e/o Collaborazione 1
N Apache + MySQL + PHP MacOs Mojave Web Server 0
T PHP+MYSQL: problema con quelle maledette lettere accentate... PHP 5
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
gandalf1959 problema con la codifica caratteri accentati e speciali tra php e mysql PHP 3
webmachine [PHP][MYSQL] Problema con le SELECT PHP 5
V Creare tabella mysql con php non funziona PHP 1
W Area riservata sicura PHP MySQL PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
xone [Vendo] Gestionale Magazzino PHP-MYSQL Altri Annunci 0

Discussioni simili