problema griglia foto

ciao
penso (pero guardo meglio) che il problema sia nel fare le colonne
cioè se metti 5 immagini per riga ogni volta che arrivi a 5 (cinque coppie di <td></td>) devi chiudere la colonna con un </tr>
ptova a fare qualcosa, poi spero di saperti dire.
 
ciao
intanto ti do un'indicazione di principio (tra l'altro come principio è quello che uso nella mia galleria)
PHP:
<?php
$num_celle_per_riga=5;//quante immagini voglio per ogni riga
$conta=0;
echo "<table width=\"80%\"  border=\"2\" cellspacing=\"0\" cellpadding=\"0\">";
for($k=0; $k< 20;$k++){//qui al posto del for ho un while
	if($conta==0){echo "<tr>";}
	echo "<td> aaa </td>";
	$conta++;
	if($conta%$num_celle_per_riga==0){//conta è un multiplo di 5
		$conta=0;//riporto a zero il contatore avendo inserito 5 celle
		echo "</tr>";//quindi chiudo la colonna
	}
}
echo "</table>";
?>
poi sto dando un occhio al tuo script, anche se fai tante di quelle entrate e uscite da php che non è semplice capire.
 
ciao, ora quasi ci siamo.. ma mi fa cosi:
Cattura_2.jpg

Mi fa anche la paginazione .. ma mi ripete l'immagine in più volte.

il codice è questo:
PHP:
<?php
// Includo 
require_once(dirname(__FILE__) . '/inc.php');
require_once(dirname(__FILE__) . "/template/".$template_client."/header.php");
require_once(dirname(__FILE__) . '/lib/paginazione.inc.php');

$_cat = (isset($_GET["cat"])) ? trim ((int)$_GET["cat"]): '';
$pagina = (isset($_GET["pagina"])) ? trim ((int)$_GET["pagina"]): '';

        $query = "SELECT  photo_categorie._dir as _dir, photo_categorie.titolo as cat_titolo  , photo.* FROM utenti 
       INNER JOIN photo 
          ON utenti.id = photo._userid INNER JOIN photo_categorie
          ON photo_categorie.id = photo._catid WHERE _catid='".$db->real_escape_string($_cat)."' ORDER BY _update DESC";
        $result = $db->query($query)or die($db->error);
        $row = $result->fetch_array();

        if(empty($_cat)) {
        echo "ID non specificato";
}
elseif ($result->num_rows == 0) { echo "Record non trovato"; }
else
{
      
$pag = new Paginazione("SELECT  photo_categorie._dir as _dir , photo.* FROM utenti 
       INNER JOIN photo 
          ON utenti.id = photo._userid INNER JOIN photo_categorie
          ON photo_categorie.id = photo._catid WHERE _catid='".$db->real_escape_string($_cat)."' ORDER BY _update DESC",$cfg_photo_client, $pagina);

    
?>
<p class="titolo">Galleria: <?php echo $row["cat_titolo"]; ?></p>
<table align="center">
    <tr>
        <?php

    
    
    if($record = $pag->Show())
    {
        foreach($record as $row)
        {
      $num_celle_per_riga=5;//quante immagini voglio per ogni riga
$conta=0;
echo "<table width=\"80%\"  border=\"2\" cellspacing=\"0\" cellpadding=\"0\">";
for($k=0; $k< 20;$k++){//qui al posto del for ho un while
    if($conta==0){echo "<tr>";}
     
            $_cat = $row['titolo'];
            $id = $row['id'];
            ?>
            <td>
            <a href="gallery_view.php?id=<?php echo $id; ?>"><img hspace='10' vspace='10' src="public/media/photo/<?php echo $row["_dir"]; ?>/img_thumb/<?php echo $row["url"]; ?>" alt="<?php echo $row["titolo"]; ?>"></a>
            <p><?php echo $row["titolo"]; ?></p></td>
            <?php
           $conta++;
    if($conta%$num_celle_per_riga==0){//conta è un multiplo di 5
        $conta=0;//riporto a zero il contatore avendo inserito 5 celle
        echo "</tr>";//quindi chiudo la colonna
    }
}
echo "</table>";
}
?>
<p class="links"><a   href="gallery.php">Torna indietro </a></p>
<?php

}


    // restituisce i link alle pagine
    if($link = $pag->Link(3))
    {
        ?>
        <a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $link['first']; ?>">&laquo;</a> <?php
            foreach($link['before'] as $bf)
            {
                ?><a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $bf;?>"><?php echo $bf;?></a> <?php
            }
            ?><?php echo $link['current'];?> <?php
            foreach($link['after'] as $at)
            {
                ?><a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $at;?>"><?php echo $at;?></a> <?php
            }
        ?><a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $link['last'];?>">&raquo;</a>
        <?php
        }
      
    }
 
require_once(dirname(__FILE__) . "/template/".$template_client."/footer.php");
?>

ti ringrazio molto per l'aiuto che mi stai dando.
buona serata.
 
ciao
non se usi una classe anche per il db, ti scrivo quindi con la claasica query
PHP:
<?php
//.....
while($row=mysql_fetch_array($ris){
//....quello che c'è dentro il for
}
//..ecc....
?>
o mi sembra che tu utilizzi
foreach($record as $row){....}
il primo o il secondo al posto del for(){....}
 
ciao, mi protesti vedere se va bene cosi? perché mi ripete 5x2 immagini..

ecco il codice:
PHP:
if($record = $pag->Show())
    {   
	
	$num_celle_per_riga=5;//quante immagini voglio per ogni riga
	$conta=0;
	echo "<table width=\"80%\"  border=\"2\" cellspacing=\"0\" cellpadding=\"0\">";

for($k=0; $k< 20;$k++){//qui al posto del for ho un while
    if($conta==0){echo "<tr>";}
	
        foreach($record as $row)
        {
     
            $_cat = $row['titolo'];
            $id = $row['id'];
            ?>
            <td>
            <a href="gallery_view.php?id=<?php echo $id; ?>"><img hspace='10' vspace='10' src="public/media/photo/<?php echo $row["_dir"]; ?>/img_thumb/<?php echo $row["url"]; ?>" alt="<?php echo $row["titolo"]; ?>"></a>
            <p><?php echo $row["titolo"]; ?></p></td>
     
    <?php 
	      
         $conta++;
    if($conta%$num_celle_per_riga==0){//conta è un multiplo di 5
        $conta=0;//riporto a zero il contatore avendo inserito 5 celle
        echo "</tr>";//quindi chiudo la colonna
}

?>

<?php
}
}  
echo "</table>";
}

forse c'è uno sbaglio di graffa che io non vedo mi poi dare una mano?

grazie mille.

scusa se ti rispondo ora ma ero via.

saluti,
luigi.
 
ho risolto con il mio stesso codice ma aggiungendo il titolo della foto con lo script di primo post.
PHP:
<?php
// Includo 
require_once(dirname(__FILE__) . '/inc.php');
require_once(dirname(__FILE__) . "/template/".$template_client."/header.php");
require_once(dirname(__FILE__) . '/lib/paginazione.inc.php');

$_cat = (isset($_GET["cat"])) ? trim ((int)$_GET["cat"]): '';
$pagina = (isset($_GET["pagina"])) ? trim ((int)$_GET["pagina"]): '';

        $query = "SELECT  photo_categorie._dir as _dir, photo_categorie.titolo as cat_titolo  , photo.* FROM utenti 
       INNER JOIN photo 
          ON utenti.id = photo._userid INNER JOIN photo_categorie
          ON photo_categorie.id = photo._catid WHERE _catid='".$db->real_escape_string($_cat)."' ORDER BY _update DESC";
        $result = $db->query($query)or die($db->error);
        $row = $result->fetch_array();

        if(empty($_cat)) {
        echo "ID non specificato";
}
elseif ($result->num_rows == 0) { echo "Record non trovato"; }
else
{
      
$pag = new Paginazione("SELECT  photo_categorie._dir as _dir , photo.* FROM utenti 
       INNER JOIN photo 
          ON utenti.id = photo._userid INNER JOIN photo_categorie
          ON photo_categorie.id = photo._catid WHERE _catid='".$db->real_escape_string($_cat)."' ORDER BY _update DESC",$cfg_photo_client, $pagina);

    
?>
<p class="titolo">Galleria: <?php echo $row["cat_titolo"]; ?></p>
    <?php

	$cols = 5;
    $galleria = "<table cellspacing='4' cellpadding='0'>\n";
	$i=0;
    if($record = $pag->Show())
    {   
	 foreach($record as $row)
        {
	 if ($i%$cols==0) $galleria .= "<tr>\n";
	 $galleria .= "<td class='thumb'>";
	 $galleria.='<a href="gallery_view.php?id='.$row["id"].'"><img hspace="10" vspace="10" src="public/media/photo/'.$row["_dir"].'/img_thumb/'.$row["url"].'" alt='.$row["titolo"].'"></a>';
     $galleria.='<p>'.$row["titolo"].'</p>';
	 if ($i%$cols==($cols-1)) $galleria .= "</tr>\n";
        // if per chiudere la riga della tabella
        $i++;
        // incremento il contatore degli elementi
     }
	 $galleria .= "</table>\n";
	print $galleria;

    }  
    
        
 }

?><p class="links"><a   href="gallery.php">Torna indietro </a></p><?php

    // restituisce i link alle pagine
    if($link = $pag->Link(3))
    {
        ?>
        <a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $link['first']; ?>">&laquo;</a> <?php
            foreach($link['before'] as $bf)
            {
                ?><a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $bf;?>"><?php echo $bf;?></a> <?php
            }
            ?><?php echo $link['current'];?> <?php
            foreach($link['after'] as $at)
            {
                ?><a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $at;?>"><?php echo $at;?></a> <?php
            }
        ?><a href="?cat=<?php echo $_GET["cat"]; ?>&pagina=<?php echo $link['last'];?>">&raquo;</a>
        <?php
        }
      
    
 
require_once(dirname(__FILE__) . "/template/".$template_client."/footer.php");
?>

grazie mille.
 

Discussioni simili