Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    residenza
    Torino
    Messaggi
    18

    Immagini in una tabella

    Ciao a tutti, sono un neofita del php, quindi non mi insultate, per la stupidità della domanda...Solo che non riesco a trovare proprio la soluzione.
    Allora, io devo prendere da un db delle path di una serie di immagini, e metterle in una tabella con un numero di colonne definibile e un numero di righe che sarà conseguente (non mi interessa al momento).
    quindi dovrei avere una cosa del tipo

    <table>
    <tr>
    <td>Prima img</td>
    <td>Seconda img</td>
    <td>Terza img</td>
    <td>Quartaimg</td>
    </tr>
    <tr>
    <td>Quinta img</td>
    <td>Sesta img</td>
    <td>Settima img</td>
    <td>Ottava img</td>
    </tr>
    ...
    </table>

    E allora ho scritto questo:

    Codice PHP:
    //connessione al db
    <table border="1"> 
    <tr> 
    <?php $sql="SELECT DISTINCT * FROM tbl_marchi order by descrizione"
    $results mysql_query($sql); 
    while (
    $row mysql_fetch_array($results)) { 
    $id_marchio $row['id']; 
    $codicecostruttore $row['codicecostruttore']; 
    $descrizione $row['descrizione']; 
    ?> 
    <?php for ($i 1$i <= 4; ++$i) { 
    echo 
    "<td>" ?> 
    [img]img/costruttori/<?php echo $codicecostruttore?>.jpg[/img] <?php }?></td> 
    </tr> <?php ?> 
    </table>


    Funziona tutto. Solo che, invece di mettermi una immagine per ogni td, mi mette su tutta la fila la stessa immagine. Poi va a capo e mette la seconda e via discorrendo.
    Come faccio a evitare questa cosa?
    Qualcuno di voi ne ha una idea?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    metti il codice non inline che così è un incubo da leggere.

    comunque dando una lettura veloce ho già visto che copi il valore dell'array in variabili con lo stesso nome:

    Codice PHP:
    $ciao $array['ciao']; 
    per fare una cosa del genere ti conviene usare extract:

    Codice PHP:
    extract($array); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    residenza
    Torino
    Messaggi
    18
    Ho modificato il quote, spero che così sia più chiaro.
    Non ho ben capito cosa devo fare....

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    io eliminerei quel for che è del tutto non necessario nonchè la fonte del tuo problema.

    fai una cosa così:

    Codice PHP:
    # all'interno del while già strutturato da te

    echo $i == 1 ? '<tr>' : NULL;
    ?>
    <td>[img]<?php echo $immagine ?>[/img]</td> 
    <?php
    echo $i == '</tr>' NULL;

    if (
    $i == 4) {
      
    $i 1;
    }else{
      
    $i++;
    }
    ovviamente prima del while inizializza $i con un valore pari a 1

  5. #5
    non capisco questa esigenza di chiudere tag php, se vuoi un consiglio ,se lavori con un algoritmo creato in php, continua ad usare quello e il testo scrivilo totalmente con echo.


    Codice PHP:
    <?php 
    //connessione al db 
    echo"<table border='1'>  
            <tr>"
    ;

    $cnt='0';
    $sql="SELECT DISTINCT * FROM tbl_marchi order by descrizione";  
    $results mysql_query($sql);  
        while (
    $row mysql_fetch_array($results)) {  
            
    $cnt++;
            
    $id_marchio $row['id'];  
            
    $codicecostruttore $row['codicecostruttore'];  
            
    $descrizione $row['descrizione'];  
            echo 
    "<td>[img]img/costruttori/$codicecostruttore.jpg[/img]</td>";
            if(
    $cnt==4){echo"</tr><tr>";$cnt='0';}
        }
    echo
    "    </tr>    
    </table>"
    ;

    ?>
    Questo dovrebbe andare.. facci sapere

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    residenza
    Torino
    Messaggi
    18
    Ciao scusate il ritardo...

    Ok, ho capito dove sbagliavo. Grazie mille ragazzi, ora sono riuscito a far funzionare il tutto!!!

    E grazie anche per i consigli: cercherò di scrivere meno tag php e codice un po' più funzionante!

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.