Foros del Web » Programando para Internet » PHP »

"Enviar consulta"

Estas en el tema de "Enviar consulta" en el foro de PHP en Foros del Web. Hola, tengo esta página: En ella muestro imágenes en filas de 5, pero cuando tengo menos de esas cinco imágenes en total, me sale ese ...
  #1 (permalink)  
Antiguo 27/05/2011, 09:24
 
Fecha de Ingreso: abril-2011
Mensajes: 57
Antigüedad: 13 años
Puntos: 0
"Enviar consulta"

Hola,

tengo esta página:



En ella muestro imágenes en filas de 5, pero cuando tengo menos de esas cinco imágenes en total, me sale ese enviar consulta. El código es este:

Código PHP:
Ver original
  1. <div id="recuadroobras">
  2.             <table border="0" cellpadding="10" cellspacing="10" width="50%">
  3.                     <?php
  4.                     $consulta = mysql_query("SELECT DISTINCT * FROM obras WHERE galerias_idgalerias = $idgalerias AND estado != 'artista' ORDER BY fecha_subida DESC", $link);
  5.  
  6.                    
  7.                     //while($fila = mysql_fetch_array($consulta)){
  8.                    
  9.                     $cont = 0; 
  10.                        
  11.                     while($fila= mysql_fetch_array($consulta) or $cont < 5){
  12.                         if(cont < 5){
  13.                     ?>
  14.                     <td>
  15.                         <div id ="tamimg">
  16.                         <tr width="10%">
  17.  
  18.                             <form action="../obras/obra.php" method="POST">    
  19.                                 <input type="image" src="../img/obras/<?php echo $fila['nombre_imagen']; ?>" width="150">
  20.                                 <input type="hidden" name="parametro" value="<?php echo $idgalerias; ?>">  
  21.                                 <input type="hidden" name="idobras" value="<?php echo $fila['idobras']; ?>">   
  22.                             </form>
  23.  
  24.                         </tr>
  25.                         </div>
  26.                     </td>
  27.                 <?php
  28.  
  29.                 }
  30.                
  31.                 $cont +=1;
  32.                
  33.                 }
  34.             //}
  35.                 ?>
  36.  
  37.             </table>
  38.         </div>

¿Me podeis decir cómo evitar esto? Además, el recuadro se hace más grande de lo que debería. ¿Puede ser problema de esto o es por el CSS?

¡Gracias!
  #2 (permalink)  
Antiguo 27/05/2011, 09:36
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: "Enviar consulta"

Podrias saber primero cuantos registros obtienes de tu consulta y en base a eso creas tu condicional.

Código PHP:
Ver original
  1. $resultados=mysql_num_rows($consulta);
  2.  
  3. if( $resultados >= '5'){
  4. $cont = 0;
  5.                        
  6.                     while($fila= mysql_fetch_array($consulta) or $cont < 5){
  7.                         if(cont < 5){
  8.                     ?>
  9.                     <td>
  10.                         <div id ="tamimg">
  11.                         <tr width="10%">
  12.  
  13.                             <form action="../obras/obra.php" method="POST">    
  14.                                 <input type="image" src="../img/obras/<?php echo $fila['nombre_imagen']; ?>" width="150">
  15.                                 <input type="hidden" name="parametro" value="<?php echo $idgalerias; ?>">  
  16.                                 <input type="hidden" name="idobras" value="<?php echo $fila['idobras']; ?>">  
  17.                             </form>
  18.  
  19.                         </tr>
  20.                         </div>
  21.                     </td>
  22.                 <?php
  23.                 }
  24.                   $cont +=1;
  25.                
  26.                 }
  27.  
  28.  
  29.                
  30. }else{
  31.  
  32.  
  33.                        
  34.                     while($fila= mysql_fetch_array($consulta) ){
  35.                     ?>
  36.                     <td>
  37.                         <div id ="tamimg">
  38.                         <tr width="10%">
  39.  
  40.                             <form action="../obras/obra.php" method="POST">    
  41.                                 <input type="image" src="../img/obras/<?php echo $fila['nombre_imagen']; ?>" width="150">
  42.                                 <input type="hidden" name="parametro" value="<?php echo $idgalerias; ?>">  
  43.                                 <input type="hidden" name="idobras" value="<?php echo $fila['idobras']; ?>">  
  44.                             </form>
  45.  
  46.                         </tr>
  47.                         </div>
  48.                     </td>
  49.                 <?php
  50.  
  51.                 }
  52.  
  53. }

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 27/05/2011, 09:44
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: "Enviar consulta"

puede ser que estas diciend q haga la consulta 5 veces siempre si pones tres las otras dos te pedira consulta


$cont = 0;
while($fila= mysql_fetch_array($consulta) or $cont < 5){
if(cont < 5){
?>}$cont++;

puedes probar modificando tu condicion quitandole el or $cont<5
asi solo haras el ciclo mientras haya consultas q consultar

while($fila= mysql_fetch_array($consulta) ) {

}
buen dia
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Última edición por PIRRUMAN; 27/05/2011 a las 09:49
  #4 (permalink)  
Antiguo 27/05/2011, 09:50
 
Fecha de Ingreso: abril-2011
Mensajes: 57
Antigüedad: 13 años
Puntos: 0
Respuesta: "Enviar consulta"

Pues sí, es verdad... no se me había ocurrido. Lo del cuadro seguramente será por el CSS...

Gracias a los dos :D

Etiquetas: Ninguno
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 09:18.