Foros del Web » Programando para Internet » PHP »

Orden de While en listado

Estas en el tema de Orden de While en listado en el foro de PHP en Foros del Web. Buenas tardes, tengo el sigueinte problema tengo este while que funciona bien en la cual se inprime un listado dentro de un <li>, dentro de ...
  #1 (permalink)  
Antiguo 05/10/2012, 13:19
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Orden de While en listado

Buenas tardes, tengo el sigueinte problema tengo este while que funciona bien en la cual se inprime un listado dentro de un <li>, dentro de ese li imprimno el campo
Código PHP:
$cNombre 
, lo que necesito es imprmir ese mismo campo
Código PHP:
$cNombre 
en un
Código PHP:
<h1><?php echo $cNombre;?></h1>
, que esta como encabezado de un titulo, y por lo tanto esta fuera del while, el tema es que por el while en ese encabezado me imprime el ultimo elemento de la lista, y necesito que en ese <h1> se imprima el primer elemento de la lista se entiende en el select estoy ordenando por id.

espero se entienda y me puedan ayudar gracias.

Código PHP:
<ul>
while($filamodcurso=mysql_fetch_array($resultadomodcurso)){
$cCodigo = $filamodcurso['id_modulo_cursos'];
$cNombre = $filamodcurso['nombre'];

<li><a href="#"><?php echo $cNombre;?></a></li>
</ul>


<hi><?php echo $cNombre;?></h1>
  #2 (permalink)  
Antiguo 05/10/2012, 13:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Orden de While en listado

Cita:
Iniciado por cualquiera Ver Mensaje
Código PHP:
<ul>
while($filamodcurso=mysql_fetch_array($resultadomodcurso)){
$cCodigo = $filamodcurso['id_modulo_cursos'];
$cNombre = $filamodcurso['nombre'];

<li><a href="#"><?php echo $cNombre;?></a></li>
</ul>


<hi><?php echo $cNombre;?></h1>
<hi> una nueva etiqueta

con una variable puedes verificar que imprima solo la primera en el h1

Código PHP:
$primer=1;

while(){
//lo que se va a repetir
if($primer==1){
//lo que quieres q se imprima solo una ves y la primera ves que entra al ciclo.
$primer=0;
}

  #3 (permalink)  
Antiguo 05/10/2012, 14:34
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

coloque asi y no me funciona se vuela el titulo
Código PHP:
Ver original
  1. <?php
  2. $primer=1;
  3. while($filamod=mysql_fetch_array($resultadomod)){
  4. $dNombre = $filamod['nombre']; 
  5. if($primer==1){
  6.     ?>
  7.     <h1><?php echo $dNombre; ?></h1>
  8.     <?php
  9. $primer=0;
  10. }
  11. }
  12. ?>
  #4 (permalink)  
Antiguo 05/10/2012, 18:37
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Orden de While en listado

Código PHP:
Ver original
  1. <?php
  2. $Titulo = True;
  3. While($filamod=Mysql_Fetch_Array($resultadomod)){
  4.     $dNombre = $filamod['nombre'];  
  5.     If($Titulo){
  6.         Echo('<h1>'.$dNombre.'</h1>';
  7.         $Titulo = False;
  8.     }
  9. }
  10. ?>
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #5 (permalink)  
Antiguo 06/10/2012, 19:35
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

gracias porel codigo pero, me da errores de sintaxis
  #6 (permalink)  
Antiguo 06/10/2012, 20:06
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Orden de While en listado

Cita:
Echo('<h1>'.$dNombre.'</h1>';
me falto un parentesis de cierre del echo
queda asi:
Código PHP:
Ver original
  1. Echo('<h1>'.$dNombre.'</h1>');
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #7 (permalink)  
Antiguo 06/10/2012, 20:56
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

hola no se si la variable titulo es referencial o tengo que poner la variable que imprimo de igual forma usando la variable titulo o la variable que imprime es el mismo problema no imprime nada el titulo desaparece ya arregle código por que seguía dando errores, pero sigo sin solucionarlo como explique necesito sacar el primer registro del while, al imprimir la variable en el h1 me imprime el ultimo registro ojala me puedas ayudar te dejo el código que no funciona
Código PHP:
<?php 
$nombre_modulo 
true;
while(
$filaModulo mysql_fetch_array($resultadoModulo)){
    
$nombre_modulo    $filaModulo['nombre_modulo'];
    if(
$titulo) {
        echo(
'<h1>'.$nombre_modulo.'</h1>');
        
$nombre_modulo false;
    }
}
?>
  #8 (permalink)  
Antiguo 06/10/2012, 20:58
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

perdon el codigo tenia un error asi queda

Código PHP:
Ver original
  1. <?php
  2. $nombre_modulo = true;
  3. while($filaModulo = mysql_fetch_array($resultadoModulo)){
  4.     $nombre_modulo  = $filaModulo['nombre_modulo'];
  5.     if($nombre_modulo) {
  6.         echo('<h1>'.$nombre_modulo.'</h1>');
  7.         $nombre_modulo = false;
  8.     }
  9. }
  10. ?>
  #9 (permalink)  
Antiguo 06/10/2012, 21:05
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Orden de While en listado

a ver, si yo te pase:
Código PHP:
Ver original
  1. <?php
  2. $Titulo = True;
  3. While($filamod=Mysql_Fetch_Array($resultadomod)){
  4.     $dNombre = $filamod['nombre'];  
  5.     If($Titulo){
  6.         Echo('<h1>'.$dNombre.'</h1>');
  7.         $Titulo = False;
  8.     }
  9. }
  10. ?>

porque le cambiaste los nombres de las variabbles?? a $Titulo dejala intacta!! es la que dise si hay que imprimir o no el titulo, no es una variable de batalla es una de control!

Código PHP:
Ver original
  1. <?php
  2. $Titulo = true;
  3. while($filaModulo = mysql_fetch_array($resultadoModulo)){
  4.     $nombre_modulo  = $filaModulo['nombre_modulo'];
  5.     if($Titulo) {
  6.         echo('<h1>'.$nombre_modulo.'</h1>');
  7.         $Titulo = false;
  8.     }
  9. }
  10. ?>

ese es el codigo que te funcionaria.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #10 (permalink)  
Antiguo 06/10/2012, 21:06
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

no se si estas enterado bien del tema pero ese mismo while lo tengo mas arriba donde tengo un listado eso esta correcto pero de ese mismo listado mas abajo necesito imprimir en un h1 el primer registro de ese while en tu ejemplo estamos generando otro while en la parte de abajo no se si por eso sera el problema reviso el código fuente y el ewhile que estamos ejecutando no esta imprimiendo el resultado espero me entiendas.

gracias
  #11 (permalink)  
Antiguo 06/10/2012, 21:10
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

ok entendí ya lo coloque como dices así queda y tampoco funciona
Código PHP:
Ver original
  1. <?php
  2. $Titulo = true;
  3. while($filaModulo = mysql_fetch_array($resultadoModulo)){
  4.     $nombre_modulo  = $filaModulo['nombre_modulo'];
  5.     if($Titulo) {
  6.         echo('<h1>'.$nombre_modulo.'</h1>');
  7.         $nombre_modulo = false;
  8.     }
  9. }
  10. ?>
  #12 (permalink)  
Antiguo 06/10/2012, 21:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

perdon queda si:

Código PHP:
Ver original
  1. <?php
  2. $Titulo = true;
  3. while($filaModulo = mysql_fetch_array($resultadoModulo)){
  4.     $nombre_modulo  = $filaModulo['nombre_modulo'];
  5.     if($Titulo) {
  6.         echo('<h1>'.$nombre_modulo.'</h1>');
  7.         $Titulo = false;
  8.     }
  9. }
  10. ?>
  #13 (permalink)  
Antiguo 06/10/2012, 21:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

no se si revistaste el mensaje de arriba yo siempre quiero que el titulo se imprima lo que quiero es que se imprima el primer registro del while , como explique me imprime el ultimo y necesito el primero en el h1

gracias
  #14 (permalink)  
Antiguo 06/10/2012, 21:38
Avatar de mko
mko
 
Fecha de Ingreso: agosto-2010
Ubicación: la vida es un riesgo
Mensajes: 101
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Orden de While en listado

$nombre_modulo = $filaModulo['nombre_modulo'];

es logico q te imprima el ultimo ya que por cada ciclo de while
$nombre_modulo --toma el valor de ciclo en el cual esta el while asi que si son 15 registros va tomando el valor de uno en uno hasta llegar al ultimo
por eso siempre imprimes el ultimo lo ideal seria especidicar el numero de ciclo en el cual va el while e imprimer ese registro:

NO SE SI ENTENDI BIEN PERO DE TU CONSUlTA SOLO DECEAS IMPRIMIER EL PRIMER ELEMENTO DEL ARREGLO HASLO ASI:

Código PHP:
$c=1;
      while(
$filaModulo mysql_fetch_array($resultadoModulo)){
   
         if ( 
$c==1){ //con eso nos aseguramos q estamos en el primer ciclo del while
          
echo $filaModulo['nombre_modulo'];
         }  

//AQUI IMPRIMES TODOS LOS DEMAS Q GUSTES

          
$c++ //con esto incrementamos uno en uno para que en el siguiente ciclo no se imprima la variable
      


solo adapatalo a lo que necesitas suponiendo q declara el while mucho antes
__________________
cuando no esperas nada y obtienes todo eso es destino

Última edición por mko; 06/10/2012 a las 21:46
  #15 (permalink)  
Antiguo 06/10/2012, 22:51
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

para que entiendan ese while lo tengo mas arriba en este listado
Código PHP:
Ver original
  1. <ul>
  2. <?php
  3. while($filaModulo = mysql_fetch_array($resultadoModulo)){
  4.     $nombre_modulo  = $filaModulo['nombre_modulo'];
  5.     $fecha_inicio = $filaModulo['fecha_inicio'];
  6.     $fecha_in=date("d-m-Y",strtotime($fecha_inicio));
  7.     $fecha_fin = $filaModulo['fecha_fin'];
  8.     $fecha_final=date("d-m-Y",strtotime($fecha_fin));
  9. ?>
  10. <li><a href="#"><?php echo $nombre_modulo; ?></a></li>
  11. <?php
  12.  }
  13.  ?>
  14. </ul>

ahora debjo de ese while tengo esto

Código PHP:
Ver original
  1. <h1><?php echo $nombre_modulo; ?></h1>

y en ese h1 se imprime el ultimo registro del while ya explique que necesito que se imprima en el H1 el primer registro del while de arriba todos los ejemplos que me han pasado no funcionan o en todo caso no lo puedo adaptar como indican por eso le pego el código tal cual lo tengo a ver como lo pueden adaptar yo ya probé todo lo queme indicaron y no le doy

gracias
  #16 (permalink)  
Antiguo 06/10/2012, 23:03
Avatar de mko
mko
 
Fecha de Ingreso: agosto-2010
Ubicación: la vida es un riesgo
Mensajes: 101
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Orden de While en listado

aver te voy aorientar aun mas asi es como te debe funcionar no veo donde esta el problema
.
Código PHP:
$c=1;
while($filaModulo = mysql_fetch_array($resultadoModulo)){
if( $c==1 ){
  $primero  = $filaModulo['nombre_modulo'];
 }

    $nombre_modulo  = $filaModulo['nombre_modulo'];
    $fecha_inicio = $filaModulo['fecha_inicio'];
    $fecha_in=date("d-m-Y",strtotime($fecha_inicio));
    $fecha_fin = $filaModulo['fecha_fin'];
    $fecha_final=date("d-m-Y",strtotime($fecha_fin));



$c++
 }
<h1><?php echo $primero?></h1>
.
__________________
cuando no esperas nada y obtienes todo eso es destino
  #17 (permalink)  
Antiguo 06/10/2012, 23:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

bueno ya me entregue no imprime nada sale vació el <h1></h1>
  #18 (permalink)  
Antiguo 06/10/2012, 23:25
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

tal cual me lo pones lo tengo y no imprime nada
Código PHP:
Ver original
  1. <?php
  2. $c=1;
  3. while($filaModulo = mysql_fetch_array($resultadoModulo)){
  4. if( $c==1 ){
  5.   $primero  = $filaModulo['nombre_modulo'];
  6.  }
  7.     $nombre_modulo  = $filaModulo['nombre_modulo'];
  8.     $fecha_inicio = $filaModulo['fecha_inicio'];
  9.     $fecha_in=date("d-m-Y",strtotime($fecha_inicio));
  10.     $fecha_fin = $filaModulo['fecha_fin'];
  11.     $fecha_final=date("d-m-Y",strtotime($fecha_fin));
  12. $c++;
  13.  }
  14.  ?>
  15. <h1><?php echo $primero; ?></h1>
  #19 (permalink)  
Antiguo 06/10/2012, 23:36
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Orden de While en listado

Cita:
no se si estas enterado bien del tema
estoy enterado, pero tu tienes mas interes en que otro te resulva el problema que ni siquiera intentas dar algo de tu parte como decir que no anda sin haberle agregado un parentesis al echo.

Código PHP:
Ver original
  1. <?php
  2. $Titulo = true;
  3. while($filaModulo = mysql_fetch_array($resultadoModulo)){
  4.     $nombre_modulo  = $filaModulo['nombre_modulo'];
  5.     if($Titulo) {
  6.         $PrimerTitulo = '<h1>'.$nombre_modulo.'</h1>';
  7.         $Titulo = false;
  8.     }
  9.     //El resto de tus sentencias y muestras y lo que sea que hagas en el while va aca
  10. }
  11. ?>
  12. <!-- Todo el html que quieras -->
  13. <?php
  14.     Echo($PrimerTitulo);
  15. ?>

espero que te ande porque no voy a ayudarte mas con este tema
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #20 (permalink)  
Antiguo 06/10/2012, 23:38
 
Fecha de Ingreso: febrero-2007
Mensajes: 232
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Orden de While en listado

ya esta solucionado, era el orden del while o sea el primer while que yo tenia no lo estaba retirando estaba los 2 por eso era el problema retire el que yo tenia y deje el de tu ejemplo simplemente el while le aplique a la lista como estaba, y al h1 la variable primero que se creo, entonces el while se ejecuta normal y la varaible primero solo afecta al h1 e imprime el primer registro gracia por la ayuda pero si no se prueba no se aprende

muchas gracias a todos.

Etiquetas: listado, orden, sql
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 23:00.