Visualizzazione record con intestazione

  • Creatore Discussione Creatore Discussione xzero2
  • Data di inizio Data di inizio

xzero2

Nuovo Utente
3 Gen 2007
24
0
0
Ho una parte di codice che mi permette di visualizzare tutti i record di una tabella.
Il nome della tabella viene passata tramite un form.
Le tabelle che vado a visualizzare hanno campi diversi sia nel numero che nei nomi.
Con queste righe di codice visualizzo i dati di una qualsiasi tabella a qualsiasi numero di campi.
Però non riesco a far visualizzare il nome del campo come intestazione di colonna.


$query = mysql_query("select * from ".$_REQUEST['Matricola']."");

print "<table border=\"1\">\n";
while ($line = mysql_fetch_array($query, MYSQL_NUM)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";




Come dovrei modificare il codice per far si che il nome del campo sia anche l'intestazione della colonna ??

grazie
Xzero2
 
Warning: Wrong parameter count for mysql_fetch_assoc() in indirizzo file on line 36

la linea 36 è:

while ($line = mysql_fetch_assoc($query, MYSQL_NUM)) {
 
Ok cosi va ( non da errori )

ma ottengo sempre la tabella con i dati senza intestazioni,

while ($line = mysql_fetch_assoc($query))
 
ciao
guarda che dovrebbe funzionare, per sicurezza mi sono fatto questo

PHP:
<?php
include_once "connessione.php";
$risorsa=mysql_query("SELECT * FROM dati");
while($linea=mysql_fetch_assoc($risorsa)){
	foreach($linea as $key => $valore){
	echo "nome campo: ".$key." - valore campo: ".$valore."<br>";
	}
}
?>
e l'output è il seguente

nome campo: id_a - valore campo: 3
nome campo: nome - valore campo: Hotel Erika
nome campo: email - valore campo: [email protected]
nome campo: sezione - valore campo: H
nome campo: inserimento - valore campo: 1244565766
nome campo: scadenza - valore campo: 1277829766
nome campo: autorizzato - valore campo: 1
nome campo: id_a - valore campo: 6
nome campo: nome - valore campo: Hotel Lina
nome campo: email - valore campo: [email protected]
nome campo: sezione - valore campo: HR
nome campo: inserimento - valore campo: 1244566754
nome campo: scadenza - valore campo: 1277830754
nome campo: autorizzato - valore campo: 1
eccetera.....
 
Probabilmente mi sono spiegato male io.

Quello che ottengo, o meglio vorrei ottenere è

1 2003-07-14 OK OK OK OK OK OK OK
2 2004-07-13 OK OK OK OK OK OK OK
3 2005-07-21 OK OK OK OK OK OK OK
4 2006-07-19 OK OK OK OK OK OK OK
5 2007-07-26 OK OK OK OK OK OK OK
6 2008-07-22 OK OK OK OK OK OK OK

però così senza l'intestazione di colonna (nome campo) tutti gli OK non si capisce a che cosa sono riferiti.

xzero2
 
ciao
prova così, è evidente che devi modificare nome tabella e dati connessione

PHP:
<?php
include_once "_connessione/connessione.php";
$risorsa=mysql_query("SELECT * FROM dati_sponsor");
echo "<table width=\"700\" border=\"1\" cellpadding=\"0\" cellspacing=\"2\" bordercolor=\"#333333\">";
$una_riga=mysql_fetch_assoc($risorsa);//leggo una unica riga
echo "<tr>";
foreach($una_riga as $key => $valore){
	echo "<td>".$key."</td>";
	}
echo "</tr>";
while($linea=mysql_fetch_assoc($risorsa)){
echo "<tr>";
	foreach($linea as $key => $valore){
	echo "<td>".$valore."</td>";
	}
echo "</tr>";
}
echo "</table>";
?>

al massimo devi cercare di modificare i vari td e tr
 
:fonzie::fonzie::fonzie::fonzie:


Grandissimo...........

Un milione di grazie.........

Va che è una meraviglia.

Era tanto che ci provavo......... senza il tuo aiuto non ci sarei mai riuscito!

xzero2
 
ciao, scusa ho fatto un errore, bisogna richiamare due volte la select (non mi chiedere il perchè)

PHP:
<?php
include_once "_connessione/connessione.php";
$risorsa=mysql_query("SELECT * FROM dati_sponsor");
echo "<table width=\"700\" border=\"1\" cellpadding=\"0\" cellspacing=\"2\" bordercolor=\"#333333\">";
$una_riga=mysql_fetch_assoc($risorsa);//leggo una unica riga
echo "<tr>";
foreach($una_riga as $key => $valore){
	echo "<td>".$key."</td>";
	}
	echo "</tr>";
$risorsa2=mysql_query("SELECT * FROM dati_sponsor");
while($linea=mysql_fetch_assoc($risorsa2)){
	
	echo "<tr>";
	
	foreach($linea as $key2 => $valori){
		echo "<td>".$valori."</td>";
	}
	echo "</tr>";
}
echo "</table>";
?>
 
Effettivamente hai di nuovo ragione.

A me non visualizzava il primo record, ma i successivi si.

Aggiungendo la seconda select visualizzo tutti i record.

xzero2
 

Discussioni simili