Foros del Web » Programando para Internet » PHP »

Bucle "While" en consulta mysql

Estas en el tema de Bucle "While" en consulta mysql en el foro de PHP en Foros del Web. Hola, Amigos! Tengo un problema, y no encuentro solucion para el mismo, cuando ago una consulta a la base de datos mysql, me imprime 30 ...
  #1 (permalink)  
Antiguo 07/10/2010, 13:48
Avatar de galitcin  
Fecha de Ingreso: septiembre-2010
Ubicación: Barcelona
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Bucle "While" en consulta mysql

Hola, Amigos!

Tengo un problema, y no encuentro solucion para el mismo,

cuando ago una consulta a la base de datos mysql, me imprime 30 resultados en mi pagina, pero quiero hacer que cada 10 resultados muestre un echo "Hola" eso es un ejemplo... se que se puede hacer con "While" pero ya he probado de varias maneras u no me sale bien!

espero que me ayuden...

Grax!
  #2 (permalink)  
Antiguo 07/10/2010, 13:53
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Bucle "While" en consulta mysql

en realidad no es tan dificil

Código k:
Ver original
  1. $i = 0;
  2. while (/** fetch a consulta **/) {
  3.     if (++$i % 10 == 0) {
  4.         echo 'Hola';
  5.     }
  6. }
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 07/10/2010, 13:54
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Bucle "While" en consulta mysql

Saludos

Si lo podrias realizar, se me ocurre de esta manera:

Código PHP:
$i=0;
while (){

$valor $i%10;
if(
$valor==0){
echo 
$hola;
}
$i++;

Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 07/10/2010, 14:49
Avatar de galitcin  
Fecha de Ingreso: septiembre-2010
Ubicación: Barcelona
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Bucle "While" en consulta mysql

Pues lo he probado y me imprime los tres holas uno al lado del otro, estaba intentando que se imprima cada 10 filas pero no me sale :(
  #5 (permalink)  
Antiguo 07/10/2010, 14:55
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 14 años, 5 meses
Puntos: 36
Respuesta: Bucle "While" en consulta mysql

q no seria asi corazones:

Código PHP:
$i=0;
while (
/*tu consulta con fetch*/) {
    if(
$i<10) {
        echo 
'Hola'.'<br>';
    }
$i++;

  #6 (permalink)  
Antiguo 07/10/2010, 15:15
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Bucle "While" en consulta mysql

Saludos

Postea el codigo por que asi al tanteo es muy complicado colaborarte.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #7 (permalink)  
Antiguo 07/10/2010, 15:25
Avatar de galitcin  
Fecha de Ingreso: septiembre-2010
Ubicación: Barcelona
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Bucle "While" en consulta mysql

aqui va el codigo con el While

Código PHP:
Ver original
  1. <?php
  2.     $i = $j = 0;
  3.     $lastdate = "";
  4.     while($row=mysql_fetch_array($res))
  5.     {
  6.           /*Alternando color de la fila*/
  7.           if ($colorfila==0){
  8.               $color= "#FFFFFF";
  9.               $colorfila=1;
  10.         }else{
  11.               $color="#EBFAE2";
  12.               $colorfila=0;
  13.         }                    
  14.         /*cerrando el if de color fila*/
  15.    
  16.        
  17.     $date_formatted = date("Ymd", $row['timestamp']);
  18.         if($date_formatted != $lastdate)
  19.         {
  20.             if ($lastdate)
  21.             {
  22.                 //echo "<tr><td height=\"1\"></td></tr>";
  23.                 $j = 0;
  24.             }
  25.  
  26.             echo "<tr><td height=\"1\"></td></tr><tr><td class=\"datehead\" colspan=\"$colspan\">".QuickDate($row['timestamp'], FALSE, FALSE)."</td></tr><tr><td height=\"1\"></td></tr>";
  27.  
  28.             $lastdate = $date_formatted;
  29.         }
  30.  
  31.    
  32.         $css_class = "post" . (($j&#37;2)+1);
  33.    
  34.        
  35.         $i++; $j++;
  36.  
  37.        
  38.         $url = buildURL($target_view, array($xcityid, $row['catid'], $row['catname'],
  39.             $row['subcatid'], $row['subcatname'], $row['adid'], $row['adtitle']));
  40.      
  41.  
  42.      
  43.         $title_extra = "";
  44.        
  45.         if(!$xsubcatid)
  46.        
  47.         {
  48.            
  49.             $subcatlink = buildURL("ads", array($xcityid, $row['catid'], $row['catname'],
  50.                 $row['subcatid'], $row['subcatname']));
  51.                
  52.  
  53.             $title_extra = "&nbsp;- <a href=\"$subcatlink\" class=\"adcat\">$row[catname] $path_sep $row[subcatname]</a>";
  54.         }
  55.     ?>
  56.    
  57.     <tr style="background-color:<?php echo $color; ?>" onmouseover="this.style.background='#FEFED4';" onmouseout="this.style.background='<?php echo $color; ?>';" class="<?php echo $css_class; ?>">
  58.        
  59.              <td>
  60.                
  61.                 <a href="<?php echo $url; ?>" class="posttitle">
  62.  
  63.                 <?php
  64.                 if($row['picfile'] && $ad_thumbnails)
  65.                 {
  66.                     $imgsize = GetThumbnailSize("{$datadir[adpics]}/{$row[picfile]}", $tinythumb_max_width, $tinythumb_max_height);
  67.                 ?>
  68.                     <img src="<?php echo "$datadir[adpics]/$row[picfile]"; ?>" alt="Anuncios Gratis" border="0" width="80" height="60" align="left"  style="margin-right:5px;">
  69.                 <?php
  70.                 }
  71.                 else {
  72.                    
  73.                 echo '<img src="images/default.gif" alt="Anuncios Gratis" border="0" width="80" height="60" align="left"  
  74.                    style="margin-right:5px;">';
  75.                 }
  76.                 ?>
  77.                                    
  78.                 <?php echo $row['adtitle']; ?></a>
  79.                 <?php
  80.                 $loc = "";
  81.                 if($row['area']) $loc = $row['area'];
  82.                 if($xcityid <= 0) $loc .= ($loc ? ", " : "") . $row['cityname'];    // Version 5.0
  83.                 if($loc) echo "($loc)";
  84.                 ?>
  85.                 <?php
  86.                 if($ad_preview_chars)
  87.                 {
  88.                     echo "<span class='adpreview'>";
  89.                     $row['addesc'] = preg_replace("/\[\/?URL\]/", "", $row['addesc']);
  90.                     echo substr($row['addesc'],0,$ad_preview_chars);
  91.                     if (strlen($row['addesc'])>$ad_preview_chars) echo "...";
  92.                     echo "</span>";
  93.                 }
  94.                 ?>
  95.  
  96.  
  97.         </td>
  98.         </tr>
  99.  
  100.     <?php
  101.     }
  102. }
  103.  
  104. ?>
  #8 (permalink)  
Antiguo 07/10/2010, 20:58
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Bucle "While" en consulta mysql

Cita:
Iniciado por ylellan Ver Mensaje
q no seria asi corazones:

Código PHP:
$i=0;
while (
/*tu consulta con fetch*/) {
    if(
$i<10) {
        echo 
'Hola'.'<br>';
    }
$i++;

noooo mi niña... osea por lo que se entiende que necesita es
Cita:
cuando ago una consulta a la base de datos mysql, me imprime 30 resultados en mi pagina, pero quiero hacer que cada 10 resultados muestre un echo "Hola"
con tu codigo los 10 primeros haria un echo 'hola'; no cada 10..

saludos,
__________________
More about me...
~ @rhyudek1
~ Github
  #9 (permalink)  
Antiguo 07/10/2010, 21:10
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 14 años, 5 meses
Puntos: 36
Respuesta: Bucle "While" en consulta mysql

ha ya, mil disculpan corazon, es que ahora anduve en otro mundo, tenia mucho que pensar sobre una de mis materias y se me fue el avion. Pero gracias por la observacion. Me voy a estudiar bye
  #10 (permalink)  
Antiguo 08/10/2010, 07:06
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Bucle "While" en consulta mysql

Cita:
Iniciado por ylellan Ver Mensaje
ha ya, mil disculpan corazon, es que ahora anduve en otro mundo, tenia mucho que pensar sobre una de mis materias y se me fue el avion. Pero gracias por la observacion. Me voy a estudiar bye
;) no hay porque disculparse.. solo era una observación.
suerte :B
__________________
More about me...
~ @rhyudek1
~ Github
  #11 (permalink)  
Antiguo 08/10/2010, 07:55
Avatar de galitcin  
Fecha de Ingreso: septiembre-2010
Ubicación: Barcelona
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Bucle "While" en consulta mysql

Bueno seguire haciendo pruebas hasta que me salga bien... gracias por la ayuda :)
  #12 (permalink)  
Antiguo 08/10/2010, 09:28
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: Bucle "While" en consulta mysql

buenas, que tal esto!!

Código PHP:
Ver original
  1. $i=0;
  2. while (/*aca va la consulta con fecth o row*/) {
  3.     if($i==10) {
  4.         echo 'Hola'.'<br>';
  5.        $i=0;
  6.     }
  7. $i++;
  8. }

no lo he probado.. ojala sirva,soy noob...
una cosa, como gano karma? jejeje
  #13 (permalink)  
Antiguo 08/10/2010, 09:37
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: Bucle "While" en consulta mysql

si sigues ayudando y aportando habra gente que te de karma, muchos solo agredecen. pero recuerdo ayudar solo por ayudar, no por karma
__________________
Somos lo que pensamos, como pensamos vivimos.
  #14 (permalink)  
Antiguo 08/10/2010, 09:44
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Bucle "While" en consulta mysql

el karma perdió su significado después de la modificación... si yo te diera karma ganas todas las estrellas de inmediato.. es fome así x'D
__________________
More about me...
~ @rhyudek1
~ Github
  #15 (permalink)  
Antiguo 08/10/2010, 09:47
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: Bucle "While" en consulta mysql

ahhh ok, la verdad siempre trato de ayudar cuando creo tener la respuesta,no lo hago por el karma,me surgio esa duda al ver que mucho tiene 3.000 o 300 y yo 0 ...
gracias por responder, espero no haber desviado mucho el tema jejejeje
  #16 (permalink)  
Antiguo 09/10/2010, 14:33
Avatar de galitcin  
Fecha de Ingreso: septiembre-2010
Ubicación: Barcelona
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Bucle "While" en consulta mysql

Cita:
Iniciado por malakian Ver Mensaje
buenas, que tal esto!!

Código PHP:
Ver original
  1. $i=0;
  2. while (/*aca va la consulta con fecth o row*/) {
  3.     if($i==10) {
  4.         echo 'Hola'.'<br>';
  5.        $i=0;
  6.     }
  7. $i++;
  8. }

no lo he probado.. ojala sirva,soy noob...
una cosa, como gano karma? jejeje
Si funciona sin problemas, gracias malakian! lo único que le agregue es los <tr> y <td> a y le puse L ya q i ya tengo así no se mescla :),

lo único que el Hola se me imprime después de 10, como se hace para que sea 10 incluso, o sea al comienzo y después cuente los 10 (lo que hace ahora es primero contar los 10 y después poner el hola)

Código PHP:
Ver original
  1. if($l==10) {
  2.         echo ' <tr><td>
  3.         Hola
  4.         </td></tr>';
  5.         $l=0;
  6.     }
  7.     $l++;
  #17 (permalink)  
Antiguo 10/10/2010, 08:01
Avatar de galitcin  
Fecha de Ingreso: septiembre-2010
Ubicación: Barcelona
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Bucle "While" en consulta mysql

Ya esta, ya lo he arreglado, era solo cambiar l=0 a l=10,...

Muchas gracias a todos, por la ayuda!



Código PHP:
Ver original
  1. $l=10;
  2. while (/*aca va la consulta con fecth o row*/) {
  3.     if($l==10) {
  4.         echo 'Hola'.'<br>';
  5.        $l=0;
  6.     }
  7. $l++;
  8. }
  #18 (permalink)  
Antiguo 08/11/2010, 15:21
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: Bucle "While" en consulta mysql

Que bueno que el aporte te funcionara ........

y eso de los <tr> y <td> no lo mencionaste pero que bueno que lo solucionaste...
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #19 (permalink)  
Antiguo 01/04/2016, 15:40
 
Fecha de Ingreso: marzo-2016
Mensajes: 12
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Bucle "While" en consulta mysql

error aca no debería responder
  #20 (permalink)  
Antiguo 02/04/2016, 14:30
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años, 5 meses
Puntos: 25
Respuesta: Bucle "While" en consulta mysql

Cita:
Iniciado por malakian Ver Mensaje
buenas, que tal esto!!

Código PHP:
Ver original
  1. $i=0;
  2. while (/*aca va la consulta con fecth o row*/) {
  3.     if($i==10) {
  4.         echo 'Hola'.'<br>';
  5.        $i=0;
  6.     }
  7. $i++;
  8. }

no lo he probado.. ojala sirva,soy noob...
una cosa, como gano karma? jejeje
Buen codigo, pero me recordo las regañinas de mi profesor por reiniciar el valor del contador ($i) desde dentro del bucle. Algunos lo tachan de mala practica, pero vamos yo no te digo nada.

Así que según la disciplina por la que me inculcaron mis profesores yo haría está ligera modificación. Lo bueno de esta filosofía es que el contador($i) tendra el número real de resultados por si luego fuera necesario para algo.

Código PHP:
Ver original
  1. $i=0;
  2. while (/*aca va la consulta con fecth o row*/) {
  3.     if($i%10 == 0) {
  4.         echo 'Hola'.'<br>';
  5.     }
  6. $i++;
  7. }

Etiquetas: bucle, mysql
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 22:18.