Ciao,
quel problema l'ho risolto e riesco a prendere i valori selezionati dai due combo per utilizzarli in una query e riempire una tabella con i valori estratti dal DB.
Quello che mi piacerebbe fare è rendere asincrona la tabella in modo da poterne fare un refresh senza che vengano riempiti nuovamente i due combo che visualizzano di nuovo il primo valore caricato invede dell'ultimo selezionato. Ho provato anche con AJAX come mi è stato suggerito ma non capisco come utilizzare e impostare gli eventi.
Ti posto il codice completo sotto, non so se serve e se mi puoi dare una mano :
Codice PHP:
<?php
include('phpgraphlib.php');
$db = // tutti i parametri per la connessione;
// create connection
$connection = OCILogon('user','psw',$db);
// Raccolta Numero Utenti
$sql = "select distinct utente from gest_users_conn order by utente";
$sql_statement = OCIParse($connection,$sql);
// execute SQL query
OCIExecute($sql_statement);
// get number of columns for use later
$num_columns = OCINumCols($sql_statement);
echo "<TABLE>";
echo "<td>";
echo "<h3>Utenti</h3>";
echo "<form name='form1' method='GET' action=''>";
echo "<select name='utenti' id='userbx'>";
while (ocifetch($sql_statement))
{
for ($i = 0; $i < $num_columns; $i++)
{
$column_value = OCIResult($sql_statement,$i+1);
echo "<option value=$column_value>".$column_value."</option>";
}
}
echo "</select>";
echo "</td>";
OCIFreeStatement($sql_result);
echo "<td width='50'></td> <td width='50'></td>";
// Raccolta Date di Interesse
$sql = "select distinct to_char(data_ora, 'dd-mm-yyyy hh24:mi') as data_ora
from gest_users_conn order by data_ora";
$sql_statement = OCIParse($connection,$sql);
// execute SQL query
OCIExecute($sql_statement);
// get number of columns for use later
$num_columns = OCINumCols($sql_statement);
echo "<td>";
echo "<h3>Date</h3>";
echo "<select name='date'>";
while (ocifetch($sql_statement))
{
for ($i = 0; $i < $num_columns; $i++)
{
$column_value = OCIResult($sql_statement,$i+1);
// $val = str_dataOra($column_value);
echo "<option value=".str_dataOra($column_value).">".$column_value."</option>";
// echo "<option value=$val>".$column_value."</option>";
}
}
echo "</select>";
echo "</td>";
OCIFreeStatement($sql_result);
$last_date = $column_value;
//echo "Ultimo : ".$last_date;
echo "<td></td> <td></td> <td></td>";
echo "<td>";
echo "<input type='submit' value='Invia'>";
echo "</td>";
echo "</form>";
echo "</TABLE>";
$user = '';
//echo "<TABLE>";
echo "<pre> </pre> ";
if ($_GET[utenti] != '') {
$user = "{$_GET[utenti]}";
}
//echo $user;
if ($_GET[date] != '') {
$data = "{$_GET[date]}";
}
echo "DATA : ".$data;
echo "UTENTE : ".$user;
//echo "</TABLE>";
// Dati Totali
echo "<TABLE BORDER=1>";
//echo "<form name='form3' method='GET' action=''>";
echo "<form name='form3' action=''>";
if ($user){
$sql = "select distinct utente,sum(connessioni) as connessioni,to_char(data_ora, 'dd-mm-yyyy hh24:mi') as data_ora
from gest_users_conn where utente = '".$user."' group by utente,connessioni,data_ora order by utente,data_ora";
}
else {
$sql = "select utente,max(connessioni) as connessioni
from gest_users_conn group by utente,connessioni order by connessioni desc";
}
$sql_statement = OCIParse($connection,$sql);
// execute SQL query
OCIExecute($sql_statement);
// get number of columns for use later
$num_columns = OCINumCols($sql_statement);
// start results formatting
for ($i = 1; $i < $num_columns+1; $i++)
{
$colName = OCIColumnName($sql_statement, $i);
echo "<TD align='center'>[B]$colName  [/B]</TD>";
}
while (ocifetch($sql_statement))
{
echo "<TR>";
for ($i = 0; $i < $num_columns+1; $i++){
$column_value = OCIResult($sql_statement,$i+1);
echo "<TD align='center'>$column_value</TD>";
}
echo "</TR>";
}
echo "</form>";
OCIFreeStatement($sql_result);
echo "</TABLE>";
OCILogoff($connection);
function str_dataOra($valore)
{
$val1 = substr($valore,0,10).substr($valore,11,5);
return $val1;
}
?>
<script>
function getVal() {
var p = document.getElementById("userbx").value;
return p;
}
function whenButtonIsPressed(){
var p = document.getElementById("userbx").value;
alert("valore : "+p);
}
</script>
Grz