Visualizzare in tabella dei record

di il
9 risposte

Visualizzare in tabella dei record

Ciao a tutti, ho bisogno di un aiuto ma sono nuovo del forum e spero di non aver sbagliato sezione in cui fare questa domanda. Ho creato un database con mysql e php, ecco il codice della pagina che vorrei modificare:
<html>
<head>
<title>Elenco clienti</title>
</head>
<body>
<div align="center"><a href="home.php"><img src="immagini/logo_esm.jpg" height="159" width="683" border="0"/></a></div>

<div align="center"><h3>Anagrafica Clienti</h3></div>
<?php
$host="localhost";
$user="root";
$pass="root";
mysql_connect($host,$user,$pass) or die ("errore nella connessione");
mysql_select_db("NomeDb") or die ("errore nella selezione del database");
include "menu.html";
?>
<br>
<table width="750" align="center" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="center" width="375"><br><a style='color:#2c6ddd' href="02_forminse_client_ita.php">Inserisci un nuovo cliente</a></td>
<td align="center" width="375">
cerca nell'archivio clienti
<form name="info" method="post" action="05_cerca_client_ita.php">
<input type="text" name="cerca">
<input type="submit" value="cerca">
</form>
</td>
</tr>
</table>
<table border='5' cellpadding='4' cellspacing='5' width='500' align='center'>

<?php
$host="localhost";
$user="root";
$pass="root";
mysql_connect($host,$user,$pass) or die ("errore nella connessione");
mysql_select_db("inkjet") or die ("errore nella selezione del database");
$dati = mysql_query("SELECT * FROM clienti_ita ORDER BY clienti_ita_nome ASC");
while ( $array = mysql_fetch_array($dati))
{
echo "<tr>";
echo "<td width='400' align='center'><a href=\"06_info_client_ita.php?id=$array[clienti_ita_id]\" norepeat>
<img src='$array[clienti_ita_logo]' width='400' alt=''/></td> ";
echo "</tr>";
}
mysql_close();
?>
</table><br><br><br><br>
</body>
</html>

non sono molto bravo con php e mi scuso se farò molte domande ma con questo codice i record vengono visualizzati uno sotto l'altro, io invece vorrei poterli visualizzare in una tabella, tipo 3 o 4 per ogni fila, senza avere limite di pagine ma divisi in righe da 3, ora li visualizzo in righe singole e scorrere centinaia di record cosi è un delirio.
P.s. Se vi servono altre info chiedete pure.
Grazie a chi mi aiuterà.

9 Risposte

  • Re: Visualizzare in tabella dei record

    Ciao e benvenuto nel forum!

    Se metti il codice tra i tag CODE è meglio perché è più leggibile.

    Tu vorresti 3 o 4 risultati per riga?

    Ciao
  • Re: Visualizzare in tabella dei record

    Ok, lo terrò a mente per la prossima volta, si esatto 3 o 4 record per riga.
  • Re: Visualizzare in tabella dei record

    echo "<tr>";
    echo "<td width='400' align='center'><a href=\"06_info_client_ita.php?id=$array[clienti_ita_id]\" norepeat>
    <img src='$array[clienti_ita_logo]' width='400' alt=''/></td> ";
    <td> altra riga</td>
    <td> altra riga</td>
    <td> altra riga</td>

    echo "</tr>";
  • Re: Visualizzare in tabella dei record

    I "td" sono le colonne e non le righe.

    Esempio per capire...
    
    <tr><td>col1</td><td>col2</td><td>col3</td></tr>
    <tr><td>col1</td><td>col2</td><td>col3</td></tr>
    <tr><td>col1</td><td>col2</td><td>col3</td></tr>
    
    I questo caso si hanno 3 righe con 3 colonne.

    Ho scritto solo una parte di tag html. Ci manca l'apertura e chiusura della tabella e anche la testata.

    È questo che vuoi?
  • Re: Visualizzare in tabella dei record

    Se fosse come mi hai fatto vedere e l'esempio che ti ho fatto.

    Quando esegui il while basta che apri un tag td con il valore array['tuocampo'] per ogni valore che vuoi esporre.

    Spero di essere stato chiaro e utile.
  • Re: Visualizzare in tabella dei record

    No, avevo già provato ad aggiungere altre <td> ma mi duplica i record, cioè il record 1 me lo metto per 2 o 3 volte affiancato sulla stessa <tr> poi a capo fa lo stesso con tutti i record del database. Questa è la cosa che non capisco, non ho le conoscenze per capire perché mi duplica i record anziché ordinarli in colonne e righe. Spero di essermi spiegato bene.
  • Re: Visualizzare in tabella dei record

    Cioè per intenderci, scrivendo cosi il codice ho il risultato sopra descritto:
    echo "<tr>";
    echo "<td width='400' align='center'><a href=\"06_info_client_ita.php?id=$array[clienti_ita_id]\" norepeat><img src='$array[clienti_ita_logo]' width='400' alt=''/></td>
    <td width='400' align='center'><a href=\"06_info_client_ita.php?id=$array[clienti_ita_id]\" norepeat><img src='$array[clienti_ita_logo]' width='400' alt=''/></td>
    <td width='400' align='center'><a href=\"06_info_client_ita.php?id=$array[clienti_ita_id]\" norepeat><img src='$array[clienti_ita_logo]' width='400' alt=''/></td> ";
    echo "</tr>";
  • Re: Visualizzare in tabella dei record

    Se utilizzi 'clienti_ita_logo' come nome colonna è ovvio che lo replichi per quante volte lo scrivi nel codice.

    Ti faccio un esempio pratico.
    La tabella X è formata da queste colonne: nome, cognome, tel.
    
    while ( $array = mysql_fetch_array($dati))
    {
    echo '<tr><td>'.$array['nome'].'</td><td>'.$array['cognome'].'</td><td>'.$array['tel'].'</td></tr>';
    }
    
    Ogni volta che la condizione è vera entra nel ciclo e crea la riga.
    Se tu utilizzi sempre lo stesso nome della colonna ti prende sempre il dato che tu gli vai a dire. Sei tu a dire cosa deve prendere non è automatico, il pc esegue solo istruzioni, non pensa. Sei tu a dire cosa, dove prendere e come comportarsi.

    Spero di averti dato una spiegazione chiara.

    Ciao
  • Re: Visualizzare in tabella dei record

    Ciao, finalmente ho avuto modo di fare qualche prova, ora appena eseguito il while ho aperto un td, il tr rho aperto ma fuori dal codice php, cosi facendo mi visualizza i record tutti i orizzontale, come faccio per dargli una fine, cioè tipo per dirgli di visualizzare 3 record e poi andare a capo?
    grazie
Devi accedere o registrarti per scrivere nel forum
9 risposte