- Home
- Categorie
- Coding e Sistemistica
- PHP
- passare a smarty ilcontenuto da database in due colonne
-
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]