Estrazione dati da DB

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Salve a tutti,

avendo appena iniziato a programmare in PHP ho dei problemi che mi bloccano.

Avrei bisogno del codice per estrarre i dati di una colonna di una tabella per poi visualizzarli in un menu a tendina (<select>)

Grazie in anticipo per la risposta
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao,
per quanto riguarda l'estrazione dei dati di una tabella (se ho capito bene il tuo problema) devi usare una SELECT nel seguente modo:

SELECT nomecolonna/e FROM nometabella;

per estrarre tutti i record della tabella o, aggiungendo la clausola WHERE ed impostando una condizione, per visualizzare solo i record che soddisfano quella determinata condizione. Ciao



Zorrino
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Ciao,
per quanto riguarda l'estrazione dei dati di una tabella (se ho capito bene il tuo problema) devi usare una SELECT nel seguente modo:

SELECT nomecolonna/e FROM nometabella;

per estrarre tutti i record della tabella o, aggiungendo la clausola WHERE ed impostando una condizione, per visualizzare solo i record che soddisfano quella determinata condizione. Ciao



Zorrino

Grazie per la risposta, ma forse non sono riuscito a spiegarmi bene, il mio problema è quello di creare il menù a tendina.

WottaFacca
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ho confuso (SELECT è anche il 'comando' HTML per creare menu a tendina).
In pratica, dopo aver letto il DB, dovrai creare un loop col quale leggere (ed eventualmente stampare) i record della tabella. All'interno del loop creerai una variabile ($nome) che conterrà il contenuto del campo nome
dell'array $riga in questo modo:

PHP:
while ($riga=mysql_fetch_array($tabella)) {
       $nome=$riga['NOME'];
       echo '     <option value="N">'.$nome.'</option>';
}

Il comando OPTION serve a popolare il menu col nome appena letto.

Prima del loop devi impostare il menu a tendina così:

PHP:
echo '<form name="form1" method="post" action="">';
echo '   Nomi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
echo '   <select name="nomi">';

che chiuderai dopo il loop così:

PHP:
echo '   </select>';
echo '</form>';

Spero di esserti stato d'aiuto. Buona serata


Zorro
 
Ultima modifica di un moderatore:

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Sicuramente sto sbagliando qualcosa io, questo è il mio codice

PHP:
<?php

// modifica i nomi dentro le quadre secondo quelli che hai te nel DB

	$idfolder = $_POST["IDFolder"];

// --> Variabili <--
  //nome host
  $host =  "localhost";
  //nome user
  $user = "xxx";
  //password
  $psswd = "xxxx";
  //nome del DB
  $db_name = "nomedb";


	$con = mysqli_connect($host, $user, $psswd, $db_name);

	if(mysqli_connect_error())
  {
    echo "<h1>Errore nella connesione al Database !!!<h1>";
  }
  else
  {
    $qr = "SELECT IDFolder FROM folder ;"; 
	
	
echo '	<form name="form1" method="post" action="">';
echo '  Folder ';
echo '  <select name="nomi">'; 

while ($riga=mysql_fetch_array($tabella)) {
       $idfolder=$riga['IDFolder'];
       echo '     <option value="N">'.$idfolder.'</option>';
}  

echo '   </select>';
echo '</form>';  

?>

se riuscite ad aiutarmi mi fate un grandissimo piacere
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao,
ho letto il tuo codice e così, a prima vista, non vedo la graffa di chiusura della IF (ramo dell'ELSE) prima del TAG di chiusura del PHP (?>)
Prova intanto così, altrimenti ti posto il mio codice, a me funziona perfettamente.Ciao


zorro
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Ho notato anch'io che mancava la graffa, l'ho chiusta ma nada, non riesce ad eseguire il while, nel senso che mi visualizza la scritta Folder e sotto il menu a tendina, che però è vuoto, non prende i dati dal DB.

Se puoi scrivimi il tuo codice così provo con quello, grazie in anticipo :)

WottaFacca
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intatto non fai la selezione, manca mysql_query
PHP:
<?php
//.......
$qr = "SELECT IDFolder FROM folder ";
$ris=mysql_query($qr);
//.............
//poi
while ($riga=mysql_fetch_array($ris)) {
//....
?>
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Adesso il codice è questo, ma lo stesso non mostra niente nel menù a tendina

PHP:
<?php

// modifica i nomi dentro le quadre secondo quelli che hai te nel DB

	$idfolder = $_POST["IDFolder"];

// --> Variabili <--
  //nome host
  $host =  "localhost";
  //nome user
  $user = "xxx";
  //password
  $psswd = "xxx";
  //nome del DB
  $db_name = "dbname";


	$con = mysqli_connect($host, $user, $psswd, $db_name);

	if(mysqli_connect_error())
  {
    echo "<h1>Errore nella connesione al Database !!!<h1>";
  }
  else
  {
  	
    $qr = "SELECT IDFolder FROM folder"; 
	$ris = mysql_query($qr);

    
   
  
echo '	<form name="form1" method="post" action="">';
echo '  Folder <br> <br>';
echo '  <select name="nomi">'; 

	while ($riga=mysql_fetch_array($ris)) {
       $idfolder=$riga['IDFolder'];
        
       echo '     <option value="N">' .$idfolder. '</option>';
	}
    
echo '   </select>';
echo '</form>';
}

?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
a parte che non capisco a che ti serva quella prima istruzione
$idfolder = $_POST["IDFolder"];
per il resto è sintatticamente corretto, quindi verifica la corrispondenza esatta (compreso maiuscole/minuscole) tra il nome della tabella e quello dei campi
e che la tabella non sia vuota
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
ciao
a parte che non capisco a che ti serva quella prima istruzione
$idfolder = $_POST["IDFolder"];
per il resto è sintatticamente corretto, quindi verifica la corrispondenza esatta (compreso maiuscole/minuscole) tra il nome della tabella e quello dei campi
e che la tabella non sia vuota

Siccome ho fatto un bel po' di copia e incolla, mi era sfuggita la prima istruzione, che come hai notato anche te non serve a niente, infatti l'ho rimossa.

Per il resto, ho controllato se tutte le scritte erano in ordine e anche quelle sono corrette, nella tabella ci sono una cosa tipo 20 righe quindi non capisco perchè php non vuole farmi lavorare xD
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ti posto l mio codice cdmpleto (a me fnzina benissimo):


PHP:
<?php

//connessione al server DB
$link_connessione=mysql_connect("localhost","username","password") or die ("Connessione impossibile"); 
//Selezione del database
$db=mysql_select_db("nome_DB", $link_connessione) or die ("Database inesistente!");
//Visualizzazione dei record di una tabella
$query="SELECT nomecampo/i FROM nometabella'";
$tabella=mysql_query($query, $link_connessione) or die ("Attenzione: errore nella query");
//Esecuzione della query
  
echo '<form name="form1" method="post" action="">';
echo '   Nomi*****';
echo '   <select name="nomi">';
echo '     <option></option>';

while ($riga=mysql_fetch_array($tabella)) {
         $nome=$riga['NOME'];
         echo '     <option value="N">'.$nome.'</option>';
}

echo '   </select>';
echo '</form>';
?>


Spero adesso funzioni. Ciao
 
Ultima modifica di un moderatore:

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Non so perchè ma mi da errore la query, che ho copiato e incollato dal pannello SQL di phpMyAdmin, quindi non capisco perchè non deve funzionare
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non avrai fatto il copy/paste direttamente di
$query="SELECT nomecampo/i FROM nometabella'"; ?
zorro intende che al posto di nomecampo/i devi mettere il nome di un tuo campo o campi e il nome della tia tabella, comunque se vuoi estrarli tutti metti
PHP:
$query="SELECT * FROM nometabella'";
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Non capisco dobe potrebbe essere l'errore, soprattutto se hai copiato e incollato la query direttamente da MyAdmin.
Quindi l'errore riguarda solo la lettura dell a tabella. Ti suggerirei innazi tutto, come suggeriva anche borgo italia, di sostittuire nomecampo/i
nella SELECT di lettura con l'asterisco (*) e di provare a stampare a video tutti i campi del record: per fare questo all'interno del ciclo WHILE
all'istruzione $nome=$riga['NOME']; devi far seguire tante istruzioni quanti sono i campi del tuo record es:

$nome1=$riga['NOME1'];
$nome2=$riga['NOME'2];
$nome3=$riga['NOME'3];

e provare poi a stamparli a video

echo "campo1 campo2 campo3"; (occhio agli apici: doppi, non singoli)

e poi fammi sapere com'è andata. Intanto mi posti il tuo codice ?? Ciao
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Questo è il codice completo, adesso provo mettendo * al posto del nome del campo e li visualizzo tutti.

Mi sorge un dubbio però, potrebbe essere un problema il fatto che non uso xampp ma sto lavorando tramite Altervista??


PHP:
<?php

//connessione al server DB
$link_connessione=mysql_connect("localhost","xxx","xxx") or die ("Connessione impossibile"); 

//Selezione del database
$db=mysql_select_db("nome_DB", $link_connessione) or die ("Database inesistente!"); 
//Visualizzazione dei record di una tabella 
	
	$query= "SELECT IDFolder FROM `folder`";
	$tabella= mysql_query($query, $link_connessione) or die ("Attenzione: errore nella query");
    
    
    

//Esecuzione della query

  echo ' <form name="form1" method="post" action="">';
  echo ' Folder <br>';
  echo ' <select name="Folder">';
  echo ' <option></option>';

  
  while ($riga=mysql_fetch_array($tabella)) {
  	
    $nome=$riga['NOME'];
  	echo ' <option value="N">'.$nome.'</option>';
  	
  }

  echo ' </select>';
  echo '</form>';
  


?>
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Ok, adesso funziona, praticamente mi ero dimenticato di modificare questa riga con il nome giusto xD.

Codice:
$nome=$riga['NOME'];

Grazie mille, adesso aprirò un nuovo post per il prossimo problema xD
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Contento di esserti stato utile.
Avevo immaginato che il problema fosse lì, quando mi hai detto che cliccando sul menu, comunque ti apriva la tendina (quindi eseguiva corrretamente la query) ma non stampava niente (o, più correttamente, stampava delle righe vuote) per cui il problema doveva essere che il campo non veniva correttamente memorizzato nella variabile, che restava quindi vuota. Anch'io comunque uso Altervista

Ciao
 

WottaFacca

Utente Attivo
20 Mar 2015
134
0
0
Desenzano d/G
Grazie mille, adesso l'unica cosa è che quei dati che prendo dalla tabella dovrei mandarli, insieme ad altri dati di un'altro select ad una tabella nuova, se controlli nella sezione ho aperto un nuovo post, potresti controllare e se possibile aiutarmi a risolvere please.

Grazie ancora :) :)

WottaFacca
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Progressbar estrazione dati da tabella mySQL Ajax 9
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
D Chiave unica in estrazione dati da array php PHP 0
ronny1710 Estrazione Dati Tessera Sanitaria .NET Framework 1
creatorweb [PHP] estrazione ciclica dati con 2 dati alla volta PHP 2
Gigi87 [PHP] Estrazione dati da forum o da social network PHP 1
L estrazione dati da mysql in php e salvataggio in cartella del server PHP 51
E [PHP] estrazione dati in modo non continuativo PHP 1
C Estrazione Dati da Pagine Gialle PHP 0
A Estrazione dati da tabella sql MySQL 27
T Codice per estrazione dati da db PHP 4
L estrazione dati per login PHP 0
L Estrazione dati per settimana. PHP 13
L estrazione dati e immagini in contemporanea PHP 4
M estrazione dati casuali da database Database 0
C [PHP][MY SQL] - Estrazione dati database tramite form PHP 8
G estrazione dati da DB tramite PHP errore time out PHP 2
B Estrazione dati utente loggato MySQL 1
W Estrazione dati DB da lista MySQL 1
M Connessione Database ed estrazione dati Javascript 6
A [risolto] Istruzione per estrazione di dati casuali dal db PHP 25
B Estrazione dati Classic ASP 3
U Estrazione dati da un db con un menu selezione in cascata PHP 6
Sargon estrazione dati PHP 17
A Estrazione dati da file.html PHP 8
G estrazione dati da xml ed inserimento in db PHP 0
P Menu a discesa con estrazione dati da datbase mysql PHP 21
M problema con estrazione dati da più tabelle MySQL 1
A problema: estrazione dati da query mysql e assegnazione ad una variabile PHP 2
L Estrazione dati PHP 32
M caratteri speciali ed estrazione dati Database 4
L Estrazione dati da 2 tabelle non relazionate Classic ASP 26
R Aiuto estrazione dati Database 0
G estrazione dati da più record in un solo nuovo campo Database 0
E Difficile estrazione dati da tabella PHP 3
K Estrazione di più risultati da tabelle correlate PHP 5
L Estrazione valori max su più campi MySQL 4
M [PHP] Estrazione random con nomi presi dal db PHP 22
gandalf1959 Estrazione e visualizzazione del simbolo dell'euro php/mysqli PHP 0
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
V Estrazione di una singola banda da file multi banda (RGB) con Python Programmazione 0
O [PHP] problema estrazione immagine da db PHP 12
V [PHP] Estrazione con SQL PHP 1
M [MS Access] Estrazione record multipli MS Access 1
S [PHP] estrazione dal DB complicata PHP 7
asevenx [Javascript] Estrazione dal database di un valore in base ad una scelta Javascript 7
S Php e mysql, estrazione da una tabella e inserimento in un'altra tabella PHP 14
P Probelma estrazione stringa PHP 5
L Estrazione Articoli Random da Tabella senza doppioni PHP 1

Discussioni simili