- Home
- Categorie
- Coding e Sistemistica
- Coding
- come estrarre pochi record da tabella di un database
-
come estrarre pochi record da tabella di un database
Ciao a tutti.
Apro questa discussione per chiedervi come estrarre da una tabella di un database pochi record e non tutti.
Per esempio come estrarre dal record numero 15 al record numero 30 su un totale di 100.
Ciao.
-
Ciao
potresti inserire una colonna id ed estrarre solo le righe in un certo range, oppure in base ad altri parametri. Comunque il tutto è con una clausola WHERE
-
Ciao PietroR. Mi potresti fare un esempio?
Ti spiego: il mio scopo è quello di realizzare un grafico "Google chart" ed inizialmente inserire tutti i record presenti nella tabella. Ma nella pagina web vorrei anche inserire due caselle di testo (valore minimo e valore massimo da visualizzare) ed un pulsante in modo tale da dare la possibilità a chi visualizza il grafico di scegliere il "range" dell'asse x del grafico.
Questo è il codice che ho scritto per visualizzare tutti i record sul grafico
<?php$con=mysql_connect("******","*******","*********") or die("Errore di connessione con il database!!!!"); mysql_select_db("topolino", $con); $sql="SELECT *, COUNT(temperatura1) AS 'count' FROM grafico GROUP BY lettura"; $sth = mysql_query($sql) or die('Query fallita: ' . mysql_error()); $rows = array(); //flag is not needed $flag = true; $table = array(); $table['cols'] = array( array('label' => 'Ora', 'type' => 'string'), array('label' => 'Temp DHT11', 'type' => 'number'), array('label' => 'Temp LM35', 'type' => 'number') ); $rows = array(); if ($sth) { while($r = mysql_fetch_assoc($sth)) { $temp = array(); $temp[] = array('v' => (string) $r['ora']); $temp[] = array('v' => (int) $r['temperatura1']); $temp[] = array('v' => (int) $r['temperatura2']); $rows[] = array('c' => $temp); } } $table['rows'] = $rows; $jsonTable = json_encode($table); ?>
Secondo te come dovrei modificare il codice?
-
Ciao,
per quanto riguarda il valore minimo ed il valore massimo io lo farei con altre due query separate che estraggono i due valori.
Per quanto riguarda il range, potresti fare un check box, se è abilitato recuperi i valori delle due caselle e li inserisci nella query.
Ad esempio la parte della query potrebbe diventare così[CODE]
$sql="";
if($checkBoxPressed)
{
$sql="SELECT *, COUNT(temperatura1) AS 'count' FROM grafico WHERE campox>=$valoreMinimo AND campox<=$valoreMassimo GROUP BY lettura";
}
else
{
$sql="SELECT *, COUNT(temperatura1) AS 'count' FROM grafico GROUP BY lettura";
}
[/CODEho usato 3 variabili:
-$checkBoxPressed è una variabile in cui inserisci true se hai schiacciato il check o false
-$valoreMinimo e $valoreMassimo sono i valori che userai per il rangenella query ho chiamato il campo campox poiché non so quale è il campo di riferimento nella tua tabella.
-
Ciao PietroR. Hai centrato in pieno quello che volevo fare!!!
Ma ho preferito non inserire il checkBox, non mi sembrava indispensabile.
Grazie mille, sei stato gentilissimo
-
Figurati. Mi fa piacere che tu abbia risolto.