Foros del Web » Programando para Internet » PHP »

problema al cargar imagenes en galeria

Estas en el tema de problema al cargar imagenes en galeria en el foro de PHP en Foros del Web. tengo un pequeño problema amigos y es q cuando cargo una galeria d imagenes deberia d cargarme colo las correspondientes a ese id... pero me ...
  #1 (permalink)  
Antiguo 06/08/2008, 14:31
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
problema al cargar imagenes en galeria

tengo un pequeño problema amigos y es q cuando cargo una galeria d imagenes deberia d cargarme colo las correspondientes a ese id... pero me carga todas las qye se encuentran en el directorio... alguien podria ayudarme???
aqui les dejo para q veas... deberian verse solo 6 imagenes
http://indexa.com.ve/albarracin/detalles.php?id=2

y el codigo es
Código PHP:
<?php require('conect.php');
@
$id=$_REQUEST['id'];
$sql="SELECT * FROM galeria WHERE prod_id = $id";
$sql_exec=mysql_query($sql) or die ("Error en consulta: $sql_execex, error: "mysql_error());
// Variables de Configuración -----------------------------------
// Define el numero de Filas
$id2=$row['id'];
$n_filas=3;

//***************************************************************
$cat=$id;
//$cat=6;

$fotos = array();

$tottal=113;
// ------------------------------------------------------------------------------------------------------------------
$vert=$tottal/$n_filas;
$vert=round($vert);
?>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<script language="javascript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);

}
function cambiar(ruta){
document.imgamp.src = ruta;
}
window.onload = cargar;
//-->
var loteImagenes=new Array();
    <?php
    
// Abrir un directorio conocido, y proceder a leer sus contenidos
    
$dir "galeria/".$fol;
    if (
is_dir($dir)) {
        if (
$gd opendir($dir)) {
        
$cont=0;
            while ((
$archivo readdir($gd)) !== false) {
            if (
$archivo != "."){
            if (
$archivo != ".."){
            if (
$archivo != "Thumbs.db"){
                
$laf$dir."/".$archivo;
                echo 
"loteImagenes[".$cont."]='".$laf."';";
                    
$img[$cont] = $laf;
                    
$cont=$cont+1;
        }    }    }    }
            
closedir($gd);
        }
    } else {
        die( 
"Error fatal, $dir no es un directorio" );
    }  
    
    
/*$pics = array();
    $cont=0;
    while($rowx=mysql_fetch_assoc($sql_execx)){
    echo "loteImagenes[".$cont."]='".$rowx['img]."';";
    $img[$cont] = $rowx['img'];
    $cont=$cont+1;
    }*/
    
?>
    var i=0;
    function anterior(){
    if(i<1){
    var NumImagen = i;
    }else{
    var NumImagen = i-=1;
    }
    document.imgamp.src = loteImagenes[NumImagen];
    }
    function siguiente(){
    if(i>loteImagenes.length-2){
    var NumImagen=i;
    }else{
    var NumImagen= i+=1;
    }
    document.imgamp.src = loteImagenes[NumImagen];
     
    
    }
    function nav(pic){
    i=pic;
    document.imgamp.src = loteImagenes[pic];
    }
    function cargar(){
    document.imgamp.src = "<?=$img[0]?>";
    }
    
    </script>
<table width="260" height="408" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle" bgcolor="#DCDBA0"><br />
      <table width="220" border="0" align="center" cellpadding="0" cellspacing="1">
      <tr>
        <td width="260" bgcolor="#C1AC6C"><div id="ampliar" style="margin-left:5px; margin-right:5px; margin-top:5px; margin-bottom:5px;">
         <div align="center"><img alt="Foto Principal" name="imgamp" width="220" height="220" border="0" id="imgamp"/></div>
        </div></td>
      </tr>
    </table>
      <br />
      <table width="220" height="64" border="0" align="center" cellpadding="0" cellspacing="2">
        <!--DWLayoutTable-->
        <tr>
          <td width="220" height="64"><table width="220" height="64" border="0" align="center" cellpadding="0" cellspacing="5">
              <?php
        
        $a
=0;// Colocando el contador horizontal en 0
        
$i=1;// Colocando el contador vertical en 0
        
$w=0;//Colocando un contador para el mensaje de "No hay articulos en esta acategoria"
        
$z=0;//contador para el JS
            
foreach($img as $e) {
            
$w=w+1;
                if (
$a==0){
                echo 
'<tr>';
                }
                
$a=$a+1;
                
$fotos[$i.'-'.$a] = $e;
                
                echo 
"<td height='64' width='64'><a href='#' onmouseover='nav(".$z.")' ><img src=".$e." width='64' height='64'border='0'/></a>";
            
$z=$z+1;
                
$r=$a;// contador remanente para listar imagenes sin exceso
                
                    
if ($a >= $n_filas) {
                    
$a=0;// reiniciando el contador horizontal
                    
$i=$i+1;// aumentando el contador vertical
                    
echo '</tr>';
                    } 
            if (empty(
$img)) {
        echo
"<table width='0' border='0' align='center' cellpadding='0' cellspacing='0'>
          <tr>
            <td width='220'><div align='center'>No hay fotos en esta galeria</div></td>
          </tr>
        </table>
        "
;
        break 
1;}
            
            }
            
         echo 
'</td>';
        
?>
              <?php /*if (empty($w)) {
        echo"<table width='0' border='0' align='center' cellpadding='0' cellspacing='0'>
          <tr>
            <td width='492'><div align='center'>No hay articulos en esta categoria </div></td>
          </tr>
        </table>
        ";
        exit;}
        */
?>
          </table></td>
        </tr>
      </table>
      <br /></td>
  </tr>
</table>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 07/08/2008, 09:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema al cargar imagenes en galeria

Hola T4ke0veR,

Eso te pasa ya que en tu ciclo de leer imagenes, estas abriendo un directorio y leyendo todo el contenido del directorio, nunca lees las imagenes que solo corresponden a ese ID de tu consulta SQL.

Saludos.
  #3 (permalink)  
Antiguo 08/08/2008, 06:37
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: problema al cargar imagenes en galeria

y como cambio mi ciclo de leer imagenes a solo las del id del producto??? q debo eliminar? o por que cambio esto
Código PHP:
 <?php 
    
// Abrir un directorio conocido, y proceder a leer sus contenidos 
    
$dir "galeria/".$fol
    if (
is_dir($dir)) { 
        if (
$gd opendir($dir)) { 
        
$cont=0
            while ((
$archivo readdir($gd)) !== false) { 
            if (
$archivo != "."){ 
            if (
$archivo != ".."){ 
            if (
$archivo != "Thumbs.db"){ 
                
$laf$dir."/".$archivo
                echo 
"loteImagenes[".$cont."]='".$laf."';"
                    
$img[$cont] = $laf
                    
$cont=$cont+1
        }    }    }    } 
            
closedir($gd); 
        } 
    } else { 
        die( 
"Error fatal, $dir no es un directorio" ); 
    }   
     
    
/*$pics = array(); 
    $cont=0; 
    while($rowx=mysql_fetch_assoc($sql_execx)){ 
    echo "loteImagenes[".$cont."]='".$rowx['img]."';"; 
    $img[$cont] = $rowx['img']; 
    $cont=$cont+1; 
    }*/ 
    
?>
o mejor dicho q debo eliminar o modificar....
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...

Última edición por T4ke0veR; 08/08/2008 a las 07:09
  #4 (permalink)  
Antiguo 08/08/2008, 07:40
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: problema al cargar imagenes en galeria

mmmmmmmmmmmmmmm SOS
hice un cambio y ahora no me funciona el JS ni me muestra imagen principal :S:S...

Código PHP:
<?php require('conect.php');
@
$id=$_REQUEST['id'];
$sql="SELECT * FROM galeria WHERE prod_id = $id";
$sql_exec=mysql_query($sql) or die ("Error en consulta: $sql_execex, error: "mysql_error());
// Variables de Configuración -----------------------------------
// Define el numero de Filas
$id2=$row['id'];
$n_filas=3;

//***************************************************************
$cat=$id;
//$cat=6;

$fotos = array();

$tottal=113;
// ------------------------------------------------------------------------------------------------------------------
$vert=$tottal/$n_filas;
$vert=round($vert);
?>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<script language="javascript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);

}
function cambiar(ruta){
document.imgamp.src = ruta;
}
window.onload = cargar;
//-->
var loteImagenes=new Array();
    <?php
    
// Abrir un directorio conocido, y proceder a leer sus contenidos
    /**$dir = "galeria/".$fol;
    if (is_dir($dir)) {
        if ($gd = opendir($dir)) {
        $cont=0;
            while (($archivo = readdir($gd)) !== false) {
            if ($archivo != "."){
            if ($archivo != ".."){
            if ($archivo != "Thumbs.db"){
                $laf= $dir."/".$archivo;
                echo "loteImagenes[".$cont."]='".$laf."';";
                    $img[$cont] = $laf;
                    $cont=$cont+1;
        }    }    }    }
            closedir($gd);
        }
    } else {
        die( "Error fatal, $dir no es un directorio" );
    }  
    
    /*$pics = array();
    $cont=0;
    while($rowx=mysql_fetch_assoc($sql_execx)){
    echo "loteImagenes[".$cont."]='".$rowx['img]."';";
    $img[$cont] = $rowx['img'];
    $cont=$cont+1;
    }*/
    
$img "galeria/".$row['img'];
    
?>
    var i=0;
    function anterior(){
    if(i<1){
    var NumImagen = i;
    }else{
    var NumImagen = i-=1;
    }
    document.imgamp.src = loteImagenes[NumImagen];
    }
    function siguiente(){
    if(i>loteImagenes.length-2){
    var NumImagen=i;
    }else{
    var NumImagen= i+=1;
    }
    document.imgamp.src = loteImagenes[NumImagen];
     
    
    }
    function nav(pic){
    i=pic;
    document.imgamp.src = loteImagenes[pic];
    }
    function cargar(){
    document.imgamp.src = "<?=$img[0]?>";
    }
    
    </script>
<table width="260" height="408" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle" bgcolor="#DCDBA0"><br />
      <table width="220" border="0" align="center" cellpadding="0" cellspacing="1">
      <tr>
        <td width="260" bgcolor="#C1AC6C"><div id="ampliar" style="margin-left:5px; margin-right:5px; margin-top:5px; margin-bottom:5px;">
         <div align="center"><img alt="Foto Principal" name="imgamp" width="220" height="220" border="0" id="imgamp"/></div>
        </div></td>
      </tr>
    </table>
      <br />
      <table width="220" height="64" border="0" align="center" cellpadding="0" cellspacing="2">
        <!--DWLayoutTable-->
        <tr>
          <td width="220" height="64"><table width="220" height="64" border="0" align="center" cellpadding="0" cellspacing="5">
              <?php
        
        $a
=0;// Colocando el contador horizontal en 0
        
$i=1;// Colocando el contador vertical en 0
        
$w=0;//Colocando un contador para el mensaje de "No hay articulos en esta acategoria"
        
$z=0;//contador para el JS
            
while($row=mysql_fetch_assoc($sql_exec)){
            
$w=w+1;
                if (
$a==0){
                echo 
'<tr>';
                }
                
$a=$a+1;
                
$fotos[$i.'-'.$a] = $e;
                
                echo 
"<td height='64' width='64'><a href='#' onmouseover='nav(".$z.")' ><img src= galeria/".$row['img']." width='64' height='64'border='0'/></a>";
            
$z=$z+1;
                
$r=$a;// contador remanente para listar imagenes sin exceso
                
                    
if ($a >= $n_filas) {
                    
$a=0;// reiniciando el contador horizontal
                    
$i=$i+1;// aumentando el contador vertical
                    
echo '</tr>';
                    } 
            if (empty(
$img)) {
        echo
"<table width='0' border='0' align='center' cellpadding='0' cellspacing='0'>
          <tr>
            <td width='220'><div align='center'>No hay fotos en esta galeria</div></td>
          </tr>
        </table>
        "
;
        break 
1;}
            
            }
            
         echo 
'</td>';
        
?>
              <?php /*if (empty($w)) {
        echo"<table width='0' border='0' align='center' cellpadding='0' cellspacing='0'>
          <tr>
            <td width='492'><div align='center'>No hay articulos en esta categoria </div></td>
          </tr>
        </table>
        ";
        exit;}
        */
?>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #5 (permalink)  
Antiguo 08/08/2008, 08:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema al cargar imagenes en galeria

Te faltan varias cosas, tienes que hacer un ciclo para ir descargando los valores, posteriormente, vas creando tu arreglo y lo vas imprimiendo.

En cada vuelta de tu ciclo sería buena idea que fueras comprobando que existe la imagen.

Saludos.
  #6 (permalink)  
Antiguo 08/08/2008, 08:41
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: problema al cargar imagenes en galeria

uy no se hacer bien un arreglo :S:S... ese codigo es de un amigo... donde pueo conseguir algo parecido??? para al menos leer al respecto
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #7 (permalink)  
Antiguo 08/08/2008, 08:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema al cargar imagenes en galeria

Hola T4keOveR,

Puedes leer en el manual de PHP en la sección de arreglos, y también en la sección de MySQL.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:35.