Collegamento ad un database (incluso in Website) e memorizzazione su array in php
Author: Tommaso Tarallo
Visited 1228,
Followers 1,
Shared 0
Salve,
avrei necessità di richiamare un database (con i parametri incluso nel programma), estrarre valori da una intera colonna e memorizzarle in un array.
Già ho il databse viewer ma io vorrei eleborare questi dati inserendo opportune query.
Qualcuno sà indicarmi il codice?
Posted on the
Author
dal altri post ho trvato questo codice per visualizzare l'ultimo valore di una tabella:
<?php
require_once("res/x5engine.php");
$qchiave = array_keys($imSettings['databases']);
$qdati = getDbData($qchiave[0]);
$host = $qdati['host'];
$db_user = $qdati['user'];
$db_psw = $qdati['password'];
$db_name = $qdati['database'];
$qfolder = $imSettings['general']['public_folder'];
$db = new mysqli ($host, $db_user, $db_psw, $db_name);
$db ->autocommit(FALSE);
if ($db->connect_error) { die("Connessione fallita: " . $db->connect_error); }
$tabella="skill";//Da personalizzare
$sql= "SELECT * FROM $tabella ORDER BY id DESC LIMIT 1";
$result = $db->query($sql);
$row = $result->fetch_assoc();
$num= $row['num'];
$db->close();
?>
a parte la query SQL che so modificare, come modificare le ultime righe di codice?
Grazie!
Devi togliere l'asterisco perché così selezioni tutti i dati. Al suo posto metti il nome del campo dei dati che vuoi estrarre. Saranno contenuti tutti nell'array $row.
Author
ciao giorgio, grazie sempre del tuo prezioso aiuto ma a quanto parre non si stabilisce la connessione al database e quindi non mi và visualizzare nulla. Ecco il codice che ho modificato:
<?php
require_once("res/x5engine.php");
$qchiave = array_keys($imSettings['databases']);
$qdati = getDbData($qchiave[0]);
$host = $qdati['host'];
$db_user = $qdati['user'];
$db_psw = $qdati['password'];
$db_name = $qdati['database'];
$qfolder = $imSettings['general']['public_folder'];
$db = new mysqli ($host, $db_user, $db_psw, $db_name);
$db ->autocommit(FALSE);
if ($db->connect_error) { die("Connessione fallita: " . $db->connect_error); }
$tabella="prova"; //Nome della tabella
$colonna="valorescelto"; // Nome della colonna
$sql= "SELECT $colonna FROM $tabella";
$result = $db->query($sql);
$B = $result->fetch_assoc(); //Array che contiene i dati
// Conteggio del numero totale dei valori contenenti nella variabile a
$a = count($B);
for ($i = 0; $i < $a; $i++)
{
$b=$B[$i];
echo "Il valore di posto $i è $b \n";
}
$db->close();
?>
Author
link demo:
http://sitiwebapp.16mb.com/dance/pagina-5.php
L'istruzione echo é sbagliata
metti questa
echo "Il valore di posto". $i." è ".$b." \n";
Author
mi stampa solo lo zero (primo indice dell'array) e poi basta...
Author
non saprei quale sia l'errore
<?php
require_once("res/x5engine.php");
$qchiave = array_keys($imSettings['databases']);
$qdati = getDbData($qchiave[0]);
$host = $qdati['host'];
$db_user = $qdati['user'];
$db_psw = $qdati['password'];
$db_name = $qdati['database'];
$qfolder = $imSettings['general']['public_folder'];
$db = new mysqli ($host, $db_user, $db_psw, $db_name);
$db ->autocommit(FALSE);
if ($db->connect_error) { die("Connessione fallita: " . $db->connect_error); }
$tabella="skill";
$campo="num";
$sql= "SELECT id, $campo FROM $tabella ";
$result = $db->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<br>Il valore di posto". $row["id"]. " è ".$row["num"] ;
}} else {echo "0 risultati";}$db->close();
?>
Author
grazie Giorgio, funziona perfettamente: però vedi che la terza ultima riga si deve correggere questo:
echo "<br>Il valore di posto". $row["id"]. " è ".$row[$campo] ;