Foros del Web » Programando para Internet » PHP »

Me podéis ayudar con este while

Estas en el tema de Me podéis ayudar con este while en el foro de PHP en Foros del Web. Hola. Bueno, lo primero, creo que es un while, es para que me repita una cosa. A ver, una página, hace una consulta a la ...
  #1 (permalink)  
Antiguo 14/05/2008, 12:09
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 2 meses
Puntos: 0
Me podéis ayudar con este while

Hola. Bueno, lo primero, creo que es un while, es para que me repita una cosa.
A ver, una página, hace una consulta a la BD y me dá unos datos que pido, un texto de una descripción y algún dato más. Bueno, el resultado de esta consulta son muchos y me dá todos los que coinciden, vale, ese while lo tengo bién puesto. Ahora el tema está en que tengo que descomponer un path, que es la dirección de una imágen que queda reflejada en la BD, vale, recojo ese path, resultado de la consulta y lo descompongo, pero solo me lo descompone en el primer resultado, por ejemplo, si la página consta de 20 articulos, me da los 20 articulo bién y con todo menos con la imágen, es decir, el script que empleo para descomponer el path solo me funciona en el primer articulo y necesito que me haga lo mismo en tantos articulos como resultado de la consulta a la BD. El caso es que no sé cómo se pone aquí el while, si es que es eso lo que necesito, hice varias pruebas pero no acierto a ponerlo.
El código es el siguiente
Código PHP:
<?     
//Conexión a la base de datos
include("includes/conectobd.php");


# establecemos el criterio de SELECCION 
# en este caso los campos fecha,referencia,descripcion, ordenados de forma descendente me queda por saber  como pedir también las imagenes
# añado dos criterios de seleccion WHERE y AND
 

$_pagi_sql="SELECT * FROM pisos_venta WHERE id_tipo_inmueble='1' AND venta='1' ORDER BY fecha DESC, id DESC "
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 6;
//cantidad de enlaces que se mostrarán como máximo en la barra de navegación
$_pagi_nav_num_enlaces 5;//
$_pagi_mostrar_errores false;//
$_pagi_conteo_alternativo true;//
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");

//$result=mysql_query($sql) or die (mysql_error());



# CREAMOS UNA CABECERA DE UNA TABLA (codigo HTML) 

echo "<table width=480 align=center cellspacing=1 cellpadding=3 border=1 bordercolor=#003366>"
//echo "<tr>";
while($registro mysql_fetch_array($_pagi_result)){
           echo 
"<td valign=top>Ref. ".$registro['referencia']."</td>";
           
$fecha=$registro['fecha'];
           
$var explode('-',$fecha);
           echo 
"<td><div align=right>".$var[2]."-".$var[1]."-".$var[0]."</div></td></tr></td></tr>";
           echo 
"<td>";
           echo 
"<td valign=top>";
           
           
          
/////////// DESCOMPONEMOS EL PATH DE LA DIRECCIÓN DE LA FOTO EN LA BD //////////////////////
           
           
            
$a=explode("/"$registro['imagen1']); 
for(
$i=4;$i<(count($a));$i++) $foto.=($i<((count($a))-1)) ? ($a[$i]."/") : ($a[$i]); 


/////  // HASTA AQUÍ ES EL CÓDIGO QUE ME DESCOMPONE EL PATH PERO SOLO ME LO HACE EN EL PRIMER RESULTADO DE LA CONSULTA A LA BD /////////
  
  //echo $foto1;
           
           
?>           
      </td>
  </tr>
  <tr>
    <td width="22%" rowspan="2" valign="top" align="center"><a href="masinfo.php?iden=<? echo $registro['id']; ?>" onClick='this.target = "popup"; window.open("", "popup", "tolbar=0,width=650,height=520, resizable=yes")' ><img src="mini.php?imagen=<? echo $foto?>&tam=55x55" border="0" /></a></td>
    <td width="78%"><? echo "".substr($registro["descripcion"],0,135)."......"?></td>
  </tr>
  <tr>
    <td><div align="right"><a href="masinfo.php?iden=<? echo $registro['id']; ?>" onClick='this.target = "popup"; window.open("", "popup", "tolbar=0,width=650,height=520, resizable=yes  scrollbars=no ")' >más información</a></div></td>
  </tr>


<?
}
     echo 
"<table>";   
    
// echo "<tr>";
       # establecemos el bucle de lectura del ARRAY 
       # con los resultados de cada LINEA 
       # y encerramos cada valor en etiquetas <td></td> 
       # para que aparezcan en celdas distintas de la tabla 

  //Incluimos la barra de navegación
   
echo"<td align=right>".$_pagi_navegacion."</td>";
  
//Incluimos la información de la página actual
  
echo"<tr><td>Mostrando Pisos ".$_pagi_info."</td></tr>";  
 echo 
"</tr>";
   echo 
"</table>"
  
# cerramos la conexion 

    

    
?> 
</td>
  </tr>
  
</table>


</body>
</html>
<?
//ESTADISTICAS
$lapso2// HORAS permitidos para tratarlo como 'usuario activo' 

// AHORA CAPTURO LA IP REAL NO LA DEL PROXY

if (isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) 
  { 
    
$nip $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; 
    
$array split(", "$nip); 
    
$ip $array[0]; 
    
$host = @gethostbyaddr($ip); 
    
$ip $nip
  } 
  else 
  { 
    
$ip $HTTP_SERVER_VARS["REMOTE_ADDR"]; 
    
$host = @gethostbyaddr($ip); 
    
  } 
  
  

$mes=  date("F"); 
      if(
$mes=='January')
      
$mes='Enero';
      if(
$mes=='February')
      
$mes='Febrero';
      if(
$mes=='March')
      
$mes='Marzo';
      if(
$mes=='April')
      
$mes='Abril';
      if(
$mes=='May')
      
$mes='Mayo';
      if(
$mes=='June')
      
$mes='Junio';
      if(
$mes=='July')
      
$mes='Julio';
      if(
$mes=='August')
      
$mes='Agosto';
      if(
$mes=='September')
      
$mes='Septiembre';
      if(
$mes=='October')
      
$mes='Octubre';
      if(
$mes=='November')
      
$mes='Noviembre';
      if(
$mes=='October')
      
$mes='Octubre';
      if(
$mes=='November')
      
$mes='Noviembre';
      if(
$mes=='December')
      
$mes='Diciembre';

$year date("Y"); 
     
$diasemanadate("l");// L minuscula
        
if($diasemana=='Monday')
      
$diasemana='Lunes';
      if (
$diasemana=='Tuesday')
      
$diasemana='Martes';
      if (
$diasemana=='Wednesday')
      
$diasemana='Miercoles';
      if (
$diasemana=='Thursday')
      
$diasemana='Jueves';
      if(
$diasemana=='Friday')
      
$diasemana='Viernes';
      if(
$diasemana=='Saturday')
      
$diasemana='Sábado';
      if(
$diasemana=='Sunday')
      
$diasemana='Domingo';
      
$fechadate("j-n-Y");    
$horavisitadate("H");
$semanadate("W")+1;     
$modulo='pisosventa';



$buscamysql_query("SELECT ip,hora,modulo FROM visitas WHERE ip='$ip' AND hora>DATE_SUB(NOW(), INTERVAL $lapso HOUR ) AND modulo='$modulo' LIMIT 0,1") or die ("<b>ERROR:</b><br>".mysql_error()); 
$regis=mysql_fetch_assoc($busca); 

if(
mysql_num_rows($busca)>0){ 
    
mysql_query("UPDATE visitas SET hora=NOW() WHERE id='".$regis['id']."' LIMIT 1") or die ("<b>ERROR:</b><br>".mysql_error()); 
                            } 
        else { 
                 
mysql_query("INSERT INTO visitas VALUES ('', '$ip', NOW(), '$diasemana','$semana','$mes', '$fecha','$year','$horavisita','$modulo') ") or die ("<b>ERROR:</b><br>".mysql_error()); 
             } 

$resultadomysql_query("SELECT *, COUNT(*) AS total, MAX(hora) AS hora FROM visitas GROUP BY ip ORDER BY total DESC") or die ("<b>ERROR:</b><br>".mysql_error()); 

while(
$row=mysql_fetch_array($resultado)) { 
//echo $row['ip']." - ".$row['total']." - ".$row['hora']."-".$row['mes']."-".$row['year']; 


mysql_close();
?>
El código en concreto donde tengo que meter el while, creo, es este
Código HTML:
		  /////////// DESCOMPONEMOS EL PATH DE LA DIRECCIÓN DE LA FOTO EN LA BD //////////////////////
		   
		   
		    
$a=explode("/", $registro['imagen1']); 
for($i=4;$i<(count($a));$i++) $foto.=($i<((count($a))-1)) ? ($a[$i]."/") : ($a[$i]); 


/////  // HASTA AQUÍ ES EL CÓDIGO QUE ME DESCOMPONE EL PATH PERO SOLO ME LO HACE EN EL PRIMER RESULTADO DE LA CONSULTA A LA BD /////////
A ver si me podéis echar una mano, por favor. Muchas gracias de antemano.

Salu2
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 12:20.