Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    PHP+MYSQL impaginare in colonne

    ho letto le varie pillole sull'argomento ma sono bloccato a questo punto:

    <table width="300" border="0" cellspacing="1" cellpadding="3" align="center">
    <?php
    while ( $array = mysql_fetch_array($dati))
    {
    if ($num_rows%2==1)
    {
    ?>
    <tr bgcolor="#CCCCCC">
    <td width="150">
    <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">[img]../public/<?print [/img]" width="120" height="80" border="0"></font></div>
    </td>
    <?php
    }
    else
    {
    ?>
    <td width="150" bgcolor="#FFFF00">
    <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">[img]../public/<?print [/img]" width="120" height="80" border="0"></font></div>
    </td>
    </tr>
    <?php
    }
    $num_rows=--$num_rows;
    }
    ?>
    </table>


    così riesco a pubblicare DUE foto larghe 120 una di fianco all'altra, poi nella riga sotto altre due e così via
    Come devo fare per pubblicarne TRE una di fianco all'altra, oppure QUATTRO??????????
    ahhhhh non so dove sbattere la testa

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    ma daiii un suggerimento??

  3. #3
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Fatti un ciclo per scegliere numero di righe.
    Supponiamo che hai 12 risultati e vuoi 4 risultati per riga.
    prima di tutto modifica cosi' il while per avere un indice. es.:
    Codice PHP:
    $i=0;
    while(
    $res=mysql_fetch_array($query)){
    $i++;
    $valore[$i] = $dato_preso_da_query;

    Qui fai il ciclo:
    Codice PHP:
    echo "<table>"
    $indice=o;
    for(
    $i=1;$i<=12;$i++){
    $indice++;
    if(
    $indice == 1){echo "<tr>";}
    echo 
    "<td>".$valore[$i]."</td>";
    if(
    $indice == 4){
    echo 
    "</tr>";
    $indice 0
    }
    }
    echo 
    "</table>" 
    Prova , poi ci adatti le dimensioni e stile che vuoi..

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    $indice=o;

    ahhhh in quella riga mi restituisce questo errore:
    Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'

    mi aiuti ancora x favore? anche se risolviamo quell'errore il ciclo mi è piuttosto ostico...

  5. #5
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Scusa ho messo una o(lettera) al posto dello 0(zero).
    Cmq non e' complicato il ciclo... ti spiego un'po'.
    Ho messo fra il while $i=0; $i++; con il while estrai i dati dal db riga per riga, con $i fai si che i record estratti abbiano un indice,quindi: la prima riga estratta sara' ad esempio: $nome[1]($nome[$i] primo ciclo) e cosi' via...
    Ho pensato quindi a prenderne 12.
    Nel for ho fatto stampare la tabella con indice 1 di partenza arrivando a 12. Il tutto funziona perche' $i del ciclo sopra e' un numero che corrisponde a quello del for e quindi vengono stampati nello stesso ordine. Ho usato poi $indice per determinare quando interrompere la riga e farne una nuova.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    sigh
    avevo visto già anch'io quella o e l'avevo sostituita con uno 0 ma niente, stesso identico errore
    poi ho aggiunto anche un ; alla fine di questa
    $indice = 0
    ma nulla

  7. #7
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Codice PHP:
    $sel "select * from blog limit 0,12";
    $q $mysql_fetch_array($sel);

    $i=0;
        while(
    $res=mysql_fetch_array($q)){
        
    $i++;
        
    $titolo[$i] = $res['titolo'];
        }
      
        echo 
    "<table border=\"1\">";
        
    $indice=0;
        for(
    $i=1;$i<=12;$i++){
        
    $indice++;
        if(
    $indice == 1){echo "<tr>";}
        echo 
    "<td>".$titolo[$i]."</td>";
        if(
    $indice == 3){
        echo 
    "</tr>";
        
    $indice 0;
        }
        }
        echo 
    "</table>" 
    questo l'ho provato da me in locale e funziona.. mi stampa la tabella con i titoli dei blog in righe di 3 risultati

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    allora, l'ho buttato giù e non mi restituisce + alcun errore però mi viene una pagina vuota xchè sono fuso e sto imenticando qualche pezzo del mio db penso...
    a parte blog il tuo parametro era titolo, no?
    stasera riprovo con calma e ti dico
    grazie

  9. #9
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    si titolo e' un campo del db. fammi sapere se hai bisogno..ciao. PS provalo con dei dati statici e almeno vedi come funziona.

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.