Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] while...endwhile

Estas en el tema de while...endwhile en el foro de PHP en Foros del Web. Código PHP: function  MostrarUsuarios ()     {          $Usuarios  =  usuarios :: ListadoUsuarios ();          while( $usuarios  =  mysql_fetch_assoc ( $Usuarios ))         {              $Estado  = ( $usuarios ...
  #1 (permalink)  
Antiguo 19/04/2013, 20:40
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 14 años, 7 meses
Puntos: 0
while...endwhile

Código PHP:
function MostrarUsuarios()
    {
        
$Usuarios usuarios::ListadoUsuarios();
         while(
$usuarios mysql_fetch_assoc($Usuarios))
        {
            
$Estado = ($usuarios['ACTIVO'] == 1)?"Publicado":"Publicar";
            
$EstiloEstado = ($usuarios['ACTIVO'] == 1)?"ico pub":"ico nop";
            
$index =($usuarios == 0);
                         
             echo 
"
            <tr{$usuarios['index++ % 1']}>
                <td>{$usuarios['USUARIO_ID']}</td>
                <td><h3><a href='main.php?bk=users&id={$usuarios['USUARIO_ID']}'>{$usuarios['USUARIO']}</h3></a></td>
                <td>{$usuarios['NOMBRE']} {$usuarios['APELLIDO']}</td>
                <td>{$usuarios['FECHA_CREACION']}</td> 
                 <td><a href='main.php?bk=users&id={$usuarios['ACTIVO']}' class=\"$EstiloEstado\">$Estado</a>
                <td>{$usuarios['NIVEL']}</td>
                <td><a href='main.php?bk=users&id={$usuarios['USUARIO_ID']}' class=\"ico del\">Borrar</a>
                    <a href='main.php?bk=editUsers&id={$usuarios['USUARIO_ID']}' class=\"ico edit\">Editar</a>        
         </td></tr>
        endwhile;"
;
             
          }
 } 

Y dice que tengo este error en esta linea ...

Notice: Undefined index: index++ % 1 (<tr{$usuarios['index++ % 1']}>)

lo que esta supuesto hacer esta funcion, es mostrar los usuarios paginados de la libria Zebra Paginator...

Esta dentro de un archivo que solo hay clases...ahora bien...donde imprimo la funcion MostrarUsuarios y coloco estooo
Código PHP:
<table class="countries" border="1">
<tr><th>Country</th></tr>
<?php $index 0?>
<?php 
while ($usuarios mysql_fetch_assoc($Usuarios)):?>
<tr<?php echo $index++ % 1 ?>>
<td><?php echo $usuarios['NOMBRE']?></td>
<td><?php echo $usuarios['APELLIDO']?></td>
....
</tr>
<?php endwhile?>
sale todo bien...

me gustaria que fuera dentro de la misma funcion para reducir los ECHO...alguien me ayuda
  #2 (permalink)  
Antiguo 19/04/2013, 21:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: while...endwhile

Si quieres que interprete la expresión y la variable $index como tal, debería ser:
Código PHP:
Ver original
  1. echo "
  2. <tr{$usuarios[$index++ % 1]}>
  3. ...";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/04/2013, 22:08
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: while...endwhile

Deberías hacerlo de la segunda forma... No veo para que evitar los echos y usar el intérprete de PHP para imprimir HTML innecesariamente.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 20/04/2013, 18:49
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: while...endwhile

ahora muestra este error...

Notice: Undefined offset: 0
y el endwhile como lo hago funcionar?
Código PHP:
    </td></tr>
        endwhile;
"; 

andresdzphp no lo hago de la otra manera pq esta es la extructura que estoy usando para mis clases, y me evita escribir tantas etiquetas php...aparte de eso, tengo unas valores trabajando que me imprimen en ese formato y si los cambio tngo que hacer varios cambios mas.....
  #5 (permalink)  
Antiguo 20/04/2013, 18:53
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: while...endwhile

Si quieres programar con los pies es tu problema, te sugiero que leas sobre "Modelo Vista Controlador" MVC.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 20/04/2013, 18:58
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: while...endwhile

Cita:
Iniciado por andresdzphp Ver Mensaje
Si quieres programar con los pies es tu problema, te sugiero que leas sobre "Modelo Vista Controlador" MVC.


Gracias de nuevo...pero tu respuesta no ayuda...

lo que trato es de imprimir el endwhile al final

Código PHP:
    </td></tr>
        endwhile;
";
             
          }
 } 
  #7 (permalink)  
Antiguo 20/04/2013, 19:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: while...endwhile

El problema es que no es muy claro lo que intentas hacer.

¿Imprimir el endwhile? ¿como texto? ¿a qué te refieres con "hacerlo funcionar"?

Dices que te marca error, pero no indicas en qué línea; en fin, faltan muchos datos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 20/04/2013, 19:12
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: while...endwhile

Si abres llaves debes cerrar llaves no endwhile; ...

Edito: Además estás dando mal uso a la clase Zebra Pagination... Deberías analizar el código y no seguir haciendo estas cosas al revés.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 20/04/2013 a las 19:22
  #9 (permalink)  
Antiguo 21/04/2013, 06:50
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: while...endwhile

Cita:
Si abres llaves debes cerrar llaves no endwhile; ...
Una verdad de a puño.

He leido muy por encima el tema pero aquí como que se estan sacando chispas. Lo del while ya note cual es tu error pero prefiero que lo veas en el manual para que asi aprendas a usarlo bien. Si no lo miras en el manual no entenderas tu error.

http://php.net/manual/es/control-structures.while.php

Cita:
Además estás dando mal uso a la clase Zebra Pagination... Deberías analizar el código y no seguir haciendo estas cosas al revés.
Por lo demas que estan comentando ya eso es un caso aparte (No es que no sea importante, al contrario es super importante, pero por lo corto que es el foro es alargarse demasiado) Ya revisalo bien.
__________________
Blog de humor http://elcuasatar.net63.net/
  #10 (permalink)  
Antiguo 21/04/2013, 07:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: while...endwhile

Gracias....a todos por sus aportes, ya creo haber encontrado el problema y aunq no fue como quise ya esta trabajando....


Creo que todos los que usamos este foro es porque tenemos alguna deficiencia en cuanto al conocimiento del tema planteado, y gracias a Dios estan los que de buena fe nos ayudan a los que tenemos dudas....pero por lo menos, en mi caso, antes de postear algo me leo la documentacion oficial y al no lograr el resultando entonces vengo aqui como ultima opcion...


Creo q esta demas mandar los que tenemos problemas a leer las cosas y reprochar porque algo no salga coomo lo esperado.

Gracias de nuevo. Siempre resuelvo un problema cuando posteo aqui
  #11 (permalink)  
Antiguo 21/04/2013, 18:38
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: while...endwhile

Bueno, creo que esta respuesta se veia venir. Me parece que en ocasiones todos (y cuando digo todos me incluyo ni mas faltaba) nos enfrascamos en discusiones en este foro por cosas que para todos nosotros de pronto ya son muy "obvias" y "faciles" y nos olvidamos que antes que nada somos personas y todos merecemos respeto.

Yo en lo personal te mande a mandar a leer lo del while endwhile porque el error era tan simple como colocar los dos puntos para resolver el error. Yo hasta hace relativamente poco lo aprendi entonces esas cosas aunque sean "sencillas" o "faciles" todos nos enfrentamos por primera vez a un tema nuevo y no por eso somos menos que los demas por no saber algo tan "obvio" y "elemental". El resto del tema no lo lei así que no tenia idea como atacar el problema.

Yo en lo personal invito a todos en el foro a que en ocasiones mejoremos la manera como respondemos a los demas porque sin querer herimos a los demas (ya en ocasiones he tenido discusiones, no me las estoy dando de inocente) pero tampoco nos pongamos bravos porque alguien nos pone a leer algo. La idea es que todos aprendamos y nos ayudemos, yo en lo personal en este foro me ha servido para lograr ser mas metódico y aprendo de todo tipo de preguntas.

Bueno, ya estoy hablando mas que Buena vibra para todos.
__________________
Blog de humor http://elcuasatar.net63.net/
  #12 (permalink)  
Antiguo 21/04/2013, 18:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: while...endwhile

Pues si lo tomaron a mal, mil disculpas. Pero por otro lado no acepta sugerencias, ni lee documentación y fuera de eso dice que la respuesta no ayuda... y como dije antes es su problema si quiere mejorar las cosas o no.

... y este tema ya se desvío.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: mysql, usuarios
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:17.