Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027

    table con tr automatico

    Buona sera,

    forse il titolo non è del tutto azzeccato ma non sono bravo a spiegarmi con parole corte comunque enuncio la mia domanda:

    leggo una tabella da un database, e la tabella è creata così:

    Codice PHP:
    <table><tr>
    <?php 
    codice lettura database
    echo "<td>dati</td>";
    ?>
    </tr>
    </table>
    il problema quale è? che ovviamente dopo un tot numero di td create mi sfalsa la pagina e non va a capo in automatico nel senso per esempio vorrei che dopo la terza td creata si andasse a capo e si creasse una nuova tr con altre 3 td e così via ....

    come posso agire? ho provato a pensarci un pò su ma non sono riuscito a giungere conclusioni, avevo pensato ad un while o un do while ma non saprei proprio come impostare il tutto, mi fermo perchè forse sbaglio a creare la tr all'infuori del codice php?

    Vorrei solo qualche dritta alla mia domanda così da poterci arrivare

    grazie mille in anticipo

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    presumo che tu sia dentro ad un ciclo, quindi incrementi di uno la variabile contatore, ad esempio $i++;
    poi esegui il controllo se è multiplo di 3 con $i%3 (resto della divisione)
    dunque, per sommi capi :
    Codice PHP:
    <?php
    ....
    $i++;
    if ( 
    $i%== ){ //....stampo </tr> }
    ...
    ?>
    If you think your users are idiots, only idiots will use it. DropBox

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    no la creazione della tabella non avviene con un ciclo...

    avviene semplicemente così:

    Codice PHP:
    $query=mysql_query($sql) or die("Impossibile eseguire il comando: ".mysql_error());
    while(
    $result=mysql_fetch_array($query)){
    $id=$result['id'];
    $nome=$result['nome'];
    $descrizione=$result['descrizione'];

    echo 
    "<td>.........</td>";

    }
    mysql_close($con); 

    la tabella la creo prima di aprire il tag <?php e la chiudo dopo ovviamente il tag ?>

    stessa cosa la tr

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    più che altro c'è già il while della lettura del database, non vorrei aprire un ciclo dentro un ciclo.... io ho fatto così comunque ho impostato una variabile i=0 e poi l'ho incrementata il problema è che mi salta un record... cioè non mi legge un record... ovvero il record n.2 legge il primo il secondo, nn il terzo, va a capo, e legge il quarto...

    Codice PHP:
        <table width="700px"><tr>
    <?php
    $con
    =mysql_connect(.................);
    if(!
    $con){
      die(
    'Impossibile connettersi a: ' mysql_error());
    }
    mysql_select_db("...................."$con);
    mysql_set_charset("utf8"$con);
    $sql="SELECT * FROM prodotto";
    if(!
    mysql_query($sql,$con)){
      die(
    'Errore: ' mysql_error());
    }
    $query=mysql_query($sql) or die("Impossibile eseguire il comando: ".mysql_error());
    $i=0;
    while(
    $result=mysql_fetch_array($query)){
    $id=$result['id'];
    $nome=$result['nome'];
    $descrizione=$result['descrizione'];
    $i++;
    if(
    $i%== 0) { echo "</tr>"; } 
    else{ echo 
    "<td>.......................</a></td>"; }
    }
    mysql_close($con);
    ?>
    </tr></table>
    questo è il codice con le modifiche apportate

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    residenza
    bergamo
    Messaggi
    1,027
    ops errore di distrazione mio ho risolto grazie mille comunque buona serata!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.