Estrazione MySql da menù a tendina

Ragazzi....sono un idiota! Ho capito qual'era il problema..la query non veniva eseguita perchè mancava il

$query_stringa=mysql_query("SELECT * FROM `my_db` WHERE `datareg` LIKE '%$data_per_query%'");

cmq adesso funzica...ALEEEE!!
Ora però il lavoro che ho intenzione di fare non è finito nel senso che la mia idea di partenza era la seguente:

realizzare una pagina (per adesso esiste una pagina prova.html che richiamam una pagina estrazione.php) con queste caratteristiche:

NUMERO ISCRITTI TOTALI: ###### ( direttamente il numero e basta)
NUMERO ISCRITTI DA GOOGLE: ##### ( direttamente il numero e basta)

1° menù a tendina che permette di scegliere il giorno e vedere il numero degli iscritti di quel giorno ( quello che abbiamo appena fatto)

2° menù a tendina che permette di scegliere il giorno e vedere il numero degli iscritti di quel giorno provenienti da google ( coem quello che abbiamo appena fatto...basta cambiare la query)

E' possibile integrare tutte queste cose in un'unica pagina? E se si come?

prova.html

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
  </head>
  <body>
<form name="per totali" method="post" action="estrazione.php">
<b><font size="4" face="Arial">Pannello Amministrazione</font></b><br><br>Numero Iscritti del giorno:
<!-- 
nelle select metto una data come selezionata sempre in modo da evitare altre verifiche 
che puoi cambiare
-->
<p>Giorno 
  <select name="giorno">
    <option value="01" selected>01</option>
    <option value="02">02</option>
    <option value="03">03</option>
    <option value="04">04</option>
    <option value="05">05</option>
    <option value="06">06</option>
    <option value="07">07</option>
    <option value="08">08</option>
    <option value="09">09</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <!-- e tutti gli altri  sino a -->
    <option value="31">31</option>
  </select>
 Mese
 <select name="mese">
    <option value="01" selected>gennaio</option>
    <option value="02">febbraio</option>
    <option value="03">marzo</option> 
    <option value="04">aprile</option>
    <option value="05">maggio</option>
    <option value="06">giugno</option>
    <option value="07">luglio</option>
    <option value="08">agosto</option>
    <option value="09">settembre</option>
    <option value="10">ottobre</option>
    <option value="11">novembre</option>
    <!-- e tutti gli altri  sino a -->
    <option value="12">dicembre</option> 
 </select> 
 Anno
<select name="anno">
    <!-- inizia da anno che vuoi -->
 
    <option value="2010" selected>2010</option> 
    <!-- e continua con l'anno che vuoi (in ordine) -->
 </select>
</p>
<p>
  <input name="data" type="submit" id="data" value="Invia">  
  </form>
</p>
  </body>
</html>


PHP:
<?php
$dbhost = "XXXXXX";
$dbname = "XXXXXX";
$dbuser = "XXXXXX";
$dbpass = "XXXXXX";

$link = mysql_connect($dbhost, $dbuser, $dbpass) or die("Could not connect");
    mysql_select_db($dbname);
//piccola funzione di verifica data
function aggiusta_data($g,$m,$a){
    //guardo in che mese sono
    //trenta dì conta novembre con.....
    if($m=="04" || $m=="06" || $m=="09" || $m=="11"){// mesi da 30 gg
if($g > "30"){$g="30";}//se hai messo 31 diventa 30
}elseif($m=="02"){//mese di febbraio, bisestile?
        //trasformo per sicurezza il valore dell'anno in intero
        $aa=(int)$a;
        if($aa%4==0){//non verifico se secolare in quanto il prossimo mi sembra che sia il 2400
            $ultimo_02="29";
        }else{//non è bisestile
            $ultimo_02="28";
        }
        if($g >"28"){$g=$ultimo_02;}//se maggiore di 28 diventa o 28 o 29
    }
    //la data a questo punto è corretta e posso usarla
    //visto che ti serve la data in americano aa-mm-gg
    //ma che usualmente in italia non si usa
    //costruisco entrambe come un array associativo
    $data['ame']=$a."-".$m."-".$g;
    $data['ita']=$g."-".$m."-".$a;
    // e ritorno il valore, finalmente
    return $data;
}//fine della function

if(isset($_POST['data'])){//verifico che sia stato premito il tasto di submit
    $giorno=$_POST['giorno'];//leggo i valori selezionati
    $mese=$_POST['mese'];
    $anno=$_POST['anno'];
$data_corretta=aggiusta_data($giorno,$mese,$anno);
$data_per_query=$data_corretta['ame'];
$data_per_messaggio=$data_corretta['ita'];
$query_stringa=mysql_query("SELECT * FROM `my_db` WHERE `datareg` LIKE '%$data_per_query%'");
//echo"SELECT * FROM my_db WHERE datareg LIKE '%$data_per_query%'";
$numero_iscritti=mysql_num_rows($query_stringa);

echo "Il $data_per_messaggio si sono iscritti $numero_iscritti utenti<br>";
}//fine if submit
echo "<BR><A HREF=\"prova.html\"> Indietro</A>";
//mysql_close($link);//questo non serve, ci pensa php a chiudere il db
?>

Grazie a tutti per il sostegno ed il supporto!
 
ciao
puoi provare in questa maniera
nel form aggiungi due radiobutton per fare la scelta
e nella parte php, in funzione della scelta fatta, usi una query o l'altra
(ho messo un radio checked per non stare a controllase se hai fatto o meno la scelta)

PHP:
<?php
//ecc................
$scelta=$_POST['scelta'];
switch($sce	lta){
	case "1":
		$query_stringa="SELECT * FROM `my_db` WHERE `datareg` = '%$data_per_query%'";
		$messaggio="si sono iscritti";
	break;
	case "2":
		$query_stringa="SELECT * FROM `my_db` WHERE `datareg` = '%$data_per_query%' AND ref LIKE '%_google%'";
		$messaggio="si sono iscritti tramite google: ";
	break;
}
$result=mysql_query($query_stringa);
$numero_iscritti=mysql_num_rows($result);
echo "Il $data_per_messaggio $messaggio $numero_iscritti utenti<br>";
//ec...............
?>

HTML:
<!-- eccetera -->
  <p>
    tutti gli iscritti di oggi
    <input name="scelta" type="radio" value="1" checked>
</p>
  <p>tutti gli iscritti di oggi da google 
    <input name="scelta" type="radio" value="2">
</p>
<!-- eccetera -->
 
Ultima modifica di un moderatore:
Perfetto....adesso funziona tutto alla grande!!Grazie Mille di tutto!!!


P.S
scusate la domanda banale ma quei form ultra fighi che se compili un campo in automatico ti aprono un altro campo o addirittura si abbassano dei sottomenù ( non so se ho reso l'idea) ho letto in giro che si potrebbero fare adoperando dei framework in javascript ma qualcuno di voi saprebbe indirizzarmi a qualcosa di simile...un tutorial , esempi validi, estratti di codice ecc. Grazie Ancora
 

Discussioni simili