Popolare una tabella con numero righe e colonne prefissate

Madnick

Nuovo Utente
8 Gen 2014
6
0
0
Buona domenica a tutti,
ho cercato e ricercato ma non ho trovato nessun post che ne parli e il dubbio che mi assale è se questa cosa si possa fare o meno.
Cerco di spiegarmi:

ho un database con all'interno una tabella contenente la lista di persone. La tabella è formata con i campi: nome, cognome, numero telefonico, provincia e altre informazioni.
Ho realizzato il codice per l'estrapolazione dei dati di una determinata provincia e la visualizzazione di detti dati in una tabella.
DI seguito riporto il codice

PHP:
echo "<table border='1' width='320'> 
<tr> 
<th align='center'>Impiegato</th>  
</tr>"; 

while($row = mysql_fetch_array($result)) 
{ 
echo "<tr>"; 
echo "<td  align='center'>". $row['nome'] ."<p>". $row['cognome'] ."</p><p>". $row['tel'] . "</td>"; 
echo "</tr>"; 

} 

echo "</table>"; 
echo  
mysql_close($con);

Mentre facevo le prove il db era vuoto (un record) e non ho pensato al problema, ora che il db è formato da un centinaio di record ho problemi di visualizzazione. Dovete scusarmi ma con il Php sono proprio alle prime armi.

Quello che vorrei è che si creasse una tabella con righe e colonne prefissate (che so 10 righe 5 colonne) e all'interno di ogni cella venga inserito il risultato del nome, cognome e telefono.

Esiste una soluzione?!
Attendo con ansia vostre risposte :)
Ciao
 

Mr. PHP

Utente Attivo
31 Gen 2013
141
0
0
Prova cosi:
PHP:
<table>
	
	<th>Impiegato</th>
	
	<tr>
		<td>Riga</td>
		<td>Nome</td>
		<td>Cognome</td>
		<td>Telefono</td>
	</tr>
	
	<?php
	
	$riga = 0;
	$html = '';
	
	while( $obj = mysql_fetch_object($result) ){ ++$riga;
		
		$html .= '<tr>';
		
		$html .= '<td>'.$riga.'</td><td>'.$obj->nome.'</td><td>'.$obj->cognome.'</td><td>'.$obj->tel.'</td>';
		
		$html .= '</tr>';
		
	}
	
	echo $html;
	
	?>
	
</table>
Cmq ho usato object invece di array e molto meglio !
 

Mr. PHP

Utente Attivo
31 Gen 2013
141
0
0
Ho modificato lo script se vuoi 1 tabella ogni 10 record:
PHP:
<table>
	
	<th>Impiegato</th>
	
	<tr>
		<td>Riga</td>
		<td>Nome</td>
		<td>Cognome</td>
		<td>Telefono</td>
	</tr>
	
	<?php
	
	$riga = 0;
	$html = '';
	$riga_end = 10;
	
	while( $obj = mysql_fetch_object($result) ){ ++$riga;
		
		if( $riga != $riga_end ){
			
			$html .= '<tr>';
			
			$html .= '<td>'.$riga.'</td><td>'.$obj->nome.'</td><td>'.$obj->cognome.'</td><td>'.$obj->tel.'</td>';
			
			$html .= '</tr>';
		
		}elseif( $riga == $riga_end ){
			
			$riga_end = $riga + 10;
			
			$html .= '</table><table>';
			
			$html .= '<th>Impiegato</th>';
			
			$html .= '<tr><td>Riga</td><td>Nome</td><td>Cognome</td><td>Telefono</td></tr>';
			
			$html .= '<tr>';
			
			$html .= '<td>'.$riga.'</td><td>'.$obj->nome.'</td><td>'.$obj->cognome.'</td><td>'.$obj->tel.'</td>';
			
			$html .= '</tr>';
			
		}
		
	}
	
	echo $html;
	
	?>
	
</table>
 
Ultima modifica:

Madnick

Nuovo Utente
8 Gen 2014
6
0
0
Prova cosi:
PHP:
<table>
	
	<th>Impiegato</th>
	
	<tr>
		<td>Riga</td>
		<td>Nome</td>
		<td>Cognome</td>
		<td>Telefono</td>
	</tr>
	
	<?php
	
	$riga = 0;
	$html = '';
	
	while( $obj = mysql_fetch_object($result) ){ ++$riga;
		
		$html .= '<tr>';
		
		$html .= '<td>'.$riga.'</td><td>'.$obj->nome.'</td><td>'.$obj->cognome.'</td><td>'.$obj->tel.'</td>';
		
		$html .= '</tr>';
		
	}
	
	echo $html;
	
	?>
	
</table>
Cmq ho usato object invece di array e molto meglio !

Grazie per la risposta, ma immagino mi sia spiegato male. Da come ho capito dal codice che hai postato si realizza una tabella così:
-------------------------------------------
| Riga | Nome | Cognome | Telefono |
-------------------------------------------
| 1 | Pippo | Bianchi | 012345 |
------------------------------------------
| 2 | Mario | Rossi | 12345 |
------------------------------------------
ecc ecc

Non volevo questa visualizzazione.

Vorrei una tabella con colonne e righe che tramite codice specifico il numero (che so 4 colonne e 10 righe) e i dati estrapolati vengano visualizzati come segue:

-----------------------------------------
| Pippo | Mario | Giorgio | Rosa |
| Bianchi | Rossi | Verdi | Rossa |
| 12345 | 12345 | 09876 | 456464 |
-----------------------------------------
| Luca | Paolo | Giorgio | Rosa |
| Bianchi | Giallo | Blu | Bianca |
| 98767 | 12121 | 07689 | 124412 |
-----------------------------------------
ecc ecc

Cioè all'interno di un unica cella vengano inseriti tutti i dati identificati di quel determinato impiegato e la tabella non deve superare i 4 risultati per riga, cioè il quinto risultato deve andare nella cella che sta subito sotto alla prima.
E' fattibile?
Grazie ancora
 

Mr. PHP

Utente Attivo
31 Gen 2013
141
0
0
Dovrebbe andar bene anche se non ho usato la tabella vedi un po
PHP:
<div style="width: 400px;">
	
	<h1 style="text-align: center;">Impiegato</h1>
		
	<?php
	
	$col = 0;
	$col_end = 4;
	$html = '';

	while( $obj = mysql_fetch_object($result) ){ ++$col;
				
		if( $col == 1 || $col == ( $col_end + 1 ) )
			$html .= '<div style="float: left; width: 400px;">';
		
		$html .= '<div style="width: 100px; float: left;">';
	
		$html .= '<p>'.$obj->nome.'</p>';
	
		$html .= '<p>'.$obj->cognome.'</p>';
	
		$html .= '<p>'.$obj->tel.'</p>';
		
		$html .= '</div>';

		if( $col == 1 || $col == ( $col_end + 1 ) )
			$html .= '</div>';
		
		if( $col == ( $col_end + 1 ) )
			$col_end = $col + 3;
		
	}
	
	echo $html;
	
	?>
		
</div>
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, guarda il ciclo di questa discussione, al posto dell'immagine inserirai i dati, $cols identifica il numero massimo di colonne
oppure puoi provare con i div e i css in questo modo
PHP:
<?php

$sql = new mysqli("localhost", "username", "password", "database");
$query = "SELECT * FROM tabella";
$result = $sql->query($query);
?>
<style type="text/css">
    .result {
        float: left;
        border: 1px dashed #555;
        padding:10px;
    }
    .both {
        clear:both;
    }
</style>
<?php

$colonne = 5;
$i = 0;
while ($row = $result->fetch_array()) {
    echo "<div class='result'>";
    echo $row[0] . "<br/>" . $row[1] . "<br/>" . $row[2];
    echo "</div>";
    $i++;
    if ($i % $colonne == 0) {
        echo "<div class='both'></div>";
    }
}
?>
 

Madnick

Nuovo Utente
8 Gen 2014
6
0
0
Ciao, guarda il ciclo di questa discussione, al posto dell'immagine inserirai i dati, $cols identifica il numero massimo di colonne
oppure puoi provare con i div e i css in questo modo
PHP:
<?php

$sql = new mysqli("localhost", "username", "password", "database");
$query = "SELECT * FROM tabella";
$result = $sql->query($query);
?>
<style type="text/css">
    .result {
        float: left;
        border: 1px dashed #555;
        padding:10px;
    }
    .both {
        clear:both;
    }
</style>
<?php

$colonne = 5;
$i = 0;
while ($row = $result->fetch_array()) {
    echo "<div class='result'>";
    echo $row[0] . "<br/>" . $row[1] . "<br/>" . $row[2];
    echo "</div>";
    $i++;
    if ($i % $colonne == 0) {
        echo "<div class='both'></div>";
    }
}
?>

Grazie mille per l'aiuto sei stato utilissimo, ora faccio qualche modifica ai codici che mi hai consigliato ma di base è proprio quello che volevo!

Ciao!
 
Discussioni simili
Autore Titolo Forum Risposte Data
B Cercare il nome più popolare su una tabella PHP 11
P Popolare una tabella da utenti: nazione, città, provincia PHP 0
Monital Popolare tabella con risultati di una query PHP 0
J Popolare tabella con risultati di una query PHP 2
felino Excel: popolare una cella con la data di modifica della riga a cui appartiene Windows e Software 3
L [MS Access] come popolare automaticamente i campi di una sottomaschera MS Access 8
P popolare una select da input PHP 0
K query per popolare una select tramite ajaxc php e xml ! Ajax 14
P Popolare un Database da una mappa di google map PHP 7
T popolare database di una directory Database 1
M Popolare una Listview da database MySql PHP 5
I Popolare una select da un'altra PHP 3
X Popolare una select a selezione multipla?!?! PHP 1
D popolare campi tra th alla select PHP 36
D Popolare array PHP 8
elpirata Popolare campi tabella con totali estratti da database PHP 24
F classic asp popolare combo box javascript Presentati al Forum 1
V popolare tabella da mysql PHP 7
S Popolare campi di input con metodo $.getJSON jQuery 6
F (Vendo) Spazio Banner - Guest Post a poco prezzo su Blog popolare Vendere e Acquistare pubblicita' online 0
pup3770 Popolare random Database - per test MySQL 1
M Popolare menu a tendina in EDIT PHP 18
neo996sps [Laravel 5.1 + ajax] Popolare select concatenate Regioni, Province, Comuni PHP 1
W Popolare select da Jquery jQuery 2
D [Java] Popolare jtable da db Mysql con DefaulTableModel Java 1
otto9due Popolare campi tabella excell da maschera access MS Access 0
F Popolare tabella MySQL con i dati di un file .CVS MySQL 1
F popolare tendina con dati tabella PHP 4
L Popolare uitableviewcontroller partendo da uiviewcontroller Sviluppo app per iOS 0
K Popolare select con piu campi in orizzontale PHP 1
S [risolto] Aiuto: ciclo php ( for / while). popolare select dinamicamente da array id. PHP 9
A funzione per popolare un drop down list Javascript 4
P Popolare tabella da file .sql PHP 0
S [ACCESS]: Database e interfaccia grafica, popolare caselle dinamicamente MS Access 0
P Popolare tabella da file .sql PHP 3
P [Vb.Net] Popolare un List View da database .NET Framework 1
neo996sps [Visual Studio] Popolare datagrid tramite query Visual Basic 0
garrincha Come faccio a far diventare popolare un video su youtube ? Social Media Marketing 3
neo996sps Popolare un array con dati prelevati tramite while PHP 5
L Flash AS3: popolare array di oggetti presenti in libreria Flash 0
S popolare il database CMS (Content Management System) 4
A popolare simpleConnect da php Flash 0
A popolare simpleConnect da php PHP 0
F popolare array in modo esatto Classic ASP 3
B Popolare combo in base ad un'altra combo Classic ASP 13
peppoweb Popolare un Lista a Tendina Dinamicamente PHP 2
F Salve a tutti, devo creare un sito web/gioco online dove cliccando il tasto 'Inizia' del form viene estratta una capitale casualmente dal PHP 0
P C# Salvare una colonna del DataGridView XML 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
M Leggere in un report il valore di una casella combinata di una maschera Database 0

Discussioni simili