Collegamento ad un database (incluso in Website) e memorizzazione su array in php
Autor: Tommaso Tarallo
Visited 1236,
Followers 1,
Udostępniony 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
Autor
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.
Autor
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();
?>
Autor
link demo:
http://sitiwebapp.16mb.com/dance/pagina-5.php
L'istruzione echo é sbagliata
metti questa
echo "Il valore di posto". $i." è ".$b." \n";
Autor
mi stampa solo lo zero (primo indice dell'array) e poi basta...
Autor
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();
?>
Autor
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] ;