Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    1,742

    stampare risultati di una query in una tabella in due colonne

    Salve a tutti,
    ho questa query che stampa dei nomi:

    <?
    $query = "SELECT id,nome FROM nomi ORDER BY nome";
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result)) {
    echo"[*]$row[nome]";
    }
    ?>

    vorrei che i nomi venissero stampati in una tabella in due colonne.
    tipo se i risultati ammettiamo il caso siano 20, stampa 10 nomi a sinistra e 10 a destra nella stessa tabella di due colonne.

    come diventa la query??
    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    1,742
    forse non mi sono spiegato bene...
    ho la necessità di ordinare i risultati su una tabella a due colonne. tutto qui
    grazie

  3. #3
    devi contare quante sono le righe risultanti
    dividerle per due e salvarti il dato in una variabile
    crei l'output di una tabella (<table><tr><td> )
    nella prima colonna ci metti la echo della prima metà dei nomi separati semplicemente con
    (basta incrementare un $i per sapere a che punto sei)
    al termine della prima colonna di nomi (fagli fare il controllo con un if(metà del totale == $i) gli dici di iniziare una nuova colonna (</td><td>)
    fai la echo dei nomi della seconda colonna
    chiudi la tabella (</td></tr></table>)

    ora a te metterlo in codice

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    1,742
    solo che può variare il numero dei risultati.. non è detto che è sempre fisso ad esempio a 20. come faccio? grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    1,742
    salve,
    ho provato a fare questo:

    Codice PHP:
    <?    $query "SELECT id,nome FROM nomi ORDER BY nome";    
    $result mysql_query($query$db);    
    while (
    $row mysql_fetch_array($result)) {                
    echo 
    '<table width="200" border="0" cellspacing="2" cellpadding="2">'
    for( 
    $i=0$i $result; ++$i ) {      
    if (
    $i == 0) {         echo "<tr>";     }     
    echo 
    '<td>';     
    echo
    "[*]$row[nome]";     
    echo 
    '</td>';      
    if(
    $i == 1) {          
     echo 
    '</tr>';     } 

    echo 
    '</table>';    

    ?>
    Ma mi stampa una lista lunghissima di nomi che si ripetono tra di lorooooooooo... qualcosa non va... seppure li mette in due colonne ma in modo errato... :S
    aiutatemi almeno a mettere a punto questo codice.
    grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.