• User

    passare a smarty ilcontenuto da database in due colonne

    salve ragazzi ho un problema che da giorni non riesco a risolvere, vi spiego in che cosa consiste: io sto facendo un lavoro dove il menu e tutti i contenuti vengono estratti da database il menu e composto da icona titolo e descrizione e patch , vi spiego io dovrei passare tutto questo a smarty template,pero il problema che questi contenuti che sono 6 li voglio mettere in due colonne, adesso io una mezza oluzione l avrei trovata, comunque vi faccio vedere lo script l index.php [php]if($autorizzato=="1"){
    $caric_blocks_home = mysql_query("select * from blocks_home where posizione ='1' and
    permission='2' and enable ='1' limit 1");
    while($array=mysql_fetch_array($caric_blocks_home)){
    $valori_da_passare[$cnt]['posizione'] = $array['posizione'];
    $valori_da_passare[$cnt]['img_icon'] = $array['img'];
    $valori_da_passare[$cnt]['path_content'] = $array['path'];
    $valori_da_passare[$cnt]['title_content'] = constant("".$array['nome']."");
    $valori_da_passare[$cnt]['descrict_content'] = constant("".$array['description']."");
    // Incremento il contatore
    $cnt++;
    } // FIN QUI DOVREBBE ANDARE TUTTO BENE: fai una sola query
    } else { // Anche qui ok, perchè fai una query
    $cnt = 0; // Contatore
    $caric_blocks_home = mysql_query("select * from blocks_home where posizione ='1' and
    permission='1' and enable ='1' limit 1");
    while($array=mysql_fetch_array($caric_blocks_home)) {
    $valori_da_passare[$cnt]['posizione'] = $array['posizione'];
    $valori_da_passare[$cnt]['img_icon'] = $array['img'];
    $valori_da_passare[$cnt]['path_content'] = $array['path'];
    $valori_da_passare[$cnt]['title_content'] = constant("".$array['nome']."");
    $valori_da_passare[$cnt]['descrict_content'] = constant("".$array['description']."");
    // Incremento il contatore
    $cnt++;
    }
    } // Provo a cambiare...
    unset($caric_blocks_home);
    $caric_blocks_home = mysql_query("select * from blocks_home where posizione ='2' and
    enable ='1' limit 1");
    while($array=mysql_fetch_array($caric_blocks_home)) {
    $valori_da_passare[$cnt]['posizione'] = $array['posizione'];
    $valori_da_passare[$cnt]['img_icon'] = $array['img'];
    $valori_da_passare[$cnt]['path_content'] = $array['path'];
    $valori_da_passare[$cnt]['title_content'] = constant("".$array['nome']."");
    $valori_da_passare[$cnt]['descrict_content'] = constant("".$array['description']."");
    // Incremento il contatore
    $cnt++;
    }

    unset($caric_blocks_home);
    $caric_blocks_home = mysql_query("select * from blocks_home where posizione ='3' and
    enable ='1' limit 1");
    while($array=mysql_fetch_array($caric_blocks_home)) {
    $valori_da_passare[$cnt]['posizione'] = $array['posizione'];
    $valori_da_passare[$cnt]['img_icon'] = $array['img'];
    $valori_da_passare[$cnt]['path_content'] = $array['path'];
    $valori_da_passare[$cnt]['title_content'] = constant("".$array['nome']."");
    $valori_da_passare[$cnt]['descrict_content'] = constant("".$array['description']."");
    // Incremento il contatore
    $cnt++;
    }
    unset($caric_blocks_home);
    $caric_blocks_home = mysql_query("select * from blocks_home where posizione ='4' and
    enable ='1' limit 1");
    while($array=mysql_fetch_array($caric_blocks_home)){
    $valori_da_passare[$cnt]['posizione'] = $array['posizione'];
    $valori_da_passare[$cnt]['img_icon'] = $array['img'];
    $valori_da_passare[$cnt]['path_content'] = $array['path'];
    $valori_da_passare[$cnt]['title_content'] = constant("".$array['nome']."");
    $valori_da_passare[$cnt]['descrict_content'] = constant("".$array['description']."");
    // Incremento il contatore
    $cnt++;
    }
    unset($caric_blocks_home);
    $caric_blocks_home = mysql_query("select * from blocks_home where posizione ='5' and
    enable ='1' limit 1");
    while($array=mysql_fetch_array($caric_blocks_home)){
    $valori_da_passare[$cnt]['posizione'] = $array['posizione'];
    $valori_da_passare[$cnt]['img_icon'] = $array['img'];
    $valori_da_passare[$cnt]['path_content'] = $array['path'];
    $valori_da_passare[$cnt]['title_content'] = constant("".$array['nome']."");
    $valori_da_passare[$cnt]['descrict_content'] = constant("".$array['description']."");
    // Incremento il contatore
    $cnt++;
    }
    unset($caric_blocks_home);
    $caric_blocks_home = mysql_query("select * from blocks_home where posizione ='6' and
    enable ='1' limit 1");
    while($array=mysql_fetch_array($caric_blocks_home)){
    $valori_da_passare[$cnt]['posizione'] = $array['posizione'];
    $valori_da_passare[$cnt]['img_icon'] = $array['img'];
    $valori_da_passare[$cnt]['path_content'] = $array['path'];
    $valori_da_passare[$cnt]['title_content'] = constant("".$array['nome']."");
    $valori_da_passare[$cnt]['descrict_content'] = constant("".$array['description']."");
    // Incremento il contatore
    $cnt++;
    }
    $smarty->assign("array_lato_sinistro",$valori_da_passare);

    $smarty->assign("array_lato_destro",$valori_da_passare);
    $smarty->display('index.tpl');
    [/php]
    adesso posto il template

     <table id='contenutitexticone' border="0" width="100%" cellpadding="0" cellspacing="0" >
      <tr>
      <td>
    {foreach name=nome item=row from=$array_lato_sinistro}  
      <table border="1" width="100%"  cellpadding="0" cellspacing="0">
      <tr>
       <td id='iconticket'> <a href ="{$row.path_site}/{$row.path_content}/index.php" target="_parent"><img src="{$path_site}/immagini/{$row.img_icon}.gif" width='60' height='60' /></a> </td>
        <td id='titlemessage'><a href ="{$row.path_site}/{$row.path_content}/index.php" target="_parent"><strong>{$row.title_content}</strong></a><br><span class='smalltext'>{$row.descrict_content}</span> </td>
       </tr>
    </table>
    {/foreach}
        </td>
         <td>
       {foreach name=nome item=row from=$array_lato_destro}   
    <table border="1" width="100%" cellpadding="0" cellspacing="0" >
      <tr>
        <td id='iconticket'> <a href ="{$row.path_site}/{$row.path_content}/index.php" target="_parent"><img src="{$path_site}/immagini/{$row.img_icon}.gif" width='60' height='60' /></a> </td>
       <td id='titlemessage'><a href ="{$row.path_site}/{$row.path_content}/index.php" target="_parent"><strong>{$row.title_content}</strong></a><br><span class='smalltext'>{$row.descrict_content}</span> </td>
      </tr>
     </table>
     {/foreach}
     </td>
     </tr>
    </table>
    ```lcosi com e funziona ma mi riperte il tutto nelle due colonne , i contnuti sono 6 soltanto che non me li divide in due colonne, ma me li duplica, io la soluzione l avrei trovata, sltanto che non so come passarla a smarty
     
    :fumato:
    [php]
     
    $colonne = 2; 
    $tot_righe = $num_record/$colonne; 
    $i_x = 0; 
    $x_x = 0; 
    $k_x = 0; 
    $cell_width = floor(100/$colonne); 
    $sql = " 
    SELECT * 
    FROM blocks_home 
    WHERE posizione BETWEEN 1 AND 6 
    AND permission = 1 
    AND enable = 1 
    "; 
    $query = @mysql_query($sql); 
    $num_record = @mysql_num_rows($query); 
    echo 
    '<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr>'; 
     
    while($array = mysql_fetch_array($query)){ 
    $i_x++; 
    $k_x++; 
    $x_x++; 
     
    echo"<td id='iconticket'><a href ='' target='_parent'><img src='' width='60' height='60' /></a></td><td id='titlemessage'><a href ='$path_site/".$array['path']."/index.php' target='_parent'><strong>".constant("".$array['nome']."")."</strong></a><br><span class='smalltext'>".constant("".$array['description']."")."</span></td>";
     
     
    if($i_x == $colonne) { 
    echo"</tr>"; 
    if ($i_x == $colonne && (($x_x/$colonne) != $tot_righe)) { 
    echo"<tr>";
    } 
    $i_x = 0; 
    } // fine $i_x == $colonne 
    } //fine del ciclo 
    if ($colonne <= $x_x){ 
    if (($k_x%$colonne) != 0){ 
    $indice = $k_x; 
    $indice++; 
    if(($indice%$colonne) == 0 ){ 
    echo'</tr>'; 
    } 
    } //fine ($k%$colonne)!= 0 
    } else{ //fine if $colonne <= $x 
    echo '</tr>'; 
    }
    echo '</table>';[/php]