Foros del Web » Programando para Internet » PHP »

Switch Dinamico dentro de un while

Estas en el tema de Switch Dinamico dentro de un while en el foro de PHP en Foros del Web. HOla a todos, necesito hacer un switch dinamico que varia segun una consulta a base de datos. el ejemplo que pude hacer es asi... Código ...
  #1 (permalink)  
Antiguo 17/05/2009, 07:10
 
Fecha de Ingreso: junio-2008
Mensajes: 119
Antigüedad: 15 años, 10 meses
Puntos: 1
Switch Dinamico dentro de un while

HOla a todos, necesito hacer un switch dinamico que varia segun una consulta a base de datos.
el ejemplo que pude hacer es asi...

Código PHP:
$consultatv=$administrador->getclientes();
        while(
$row mysql_fetch_array($consultatv))
        {
            switch(
$_GET['canal'])
            {
                case 
$row['nombre']:
                echo 
$comun->recuadro('Inicio');
                echo 
'<h2>'.$row["nombreCabezera"].'</h2>';
                echo 
$varclass->opcion($row['code'],$row['embeb'],5);
                echo 
$comun->recuadro('Final');
                break;
             }
         } 
claro este anda, pero no puedo poner el default: por que corrompo la estructura si lo pongo de esta manera.

Código PHP:
$consultatv=$administrador->getclientes();
        while(
$row mysql_fetch_array($consultatv))
        {
            switch(
$_GET['canal'])
            {
                case 
$row['nombre']:
                echo 
$comun->recuadro('Inicio');
                echo 
'<h2>'.$row["nombreCabezera"].'</h2>';
                echo 
$varclass->opcion($row['code'],$row['embeb'],5);
                echo 
$comun->recuadro('Final');
                break;
             }
                default:
                echo 
"esto es el default:
                break;
         } 
y lo mismo ocurre si pongo el switch primero...

Código PHP:
$consultatv=$administrador->getclientes();
            switch(
$_GET['canal'])
            {
                  while(
$row mysql_fetch_array($consultatv))
                  {                
                        case 
$row['nombre']:
                        echo 
$comun->recuadro('Inicio');
                        echo 
'<h2>'.$row["nombreCabezera"].'</h2>';
                        echo 
$varclass->opcion($row['code'],$row['embeb'],5);
                        echo 
$comun->recuadro('Final');
                        break;
                  }
                 default:
                 echo 
"esto es el default:
                 break;
           } 
Alguien tiene una idea..., me estoy volviendo loco...
  #2 (permalink)  
Antiguo 17/05/2009, 07:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Switch Dinamico dentro de un while

Código PHP:
switch($_GET['canal'])
       {

        case 
"1":
            echo 
"1":
        break;

        case 
"2":
            echo 
"2":
        break;

        case 
"3":
            echo 
"3":
        break;
             
                default:
                echo 
"esto es el default";
                break; 
       } 
  #3 (permalink)  
Antiguo 17/05/2009, 08:00
 
Fecha de Ingreso: junio-2008
Mensajes: 119
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Switch Dinamico dentro de un while

Cita:
Iniciado por nestoroc Ver Mensaje
Código PHP:
switch($_GET['canal'])
       {

        case 
"1":
            echo 
"1":
        break;

        case 
"2":
            echo 
"2":
        break;

        case 
"3":
            echo 
"3":
        break;
             
                default:
                echo 
"esto es el default";
                break; 
       } 
no entendiste
  #4 (permalink)  
Antiguo 17/05/2009, 11:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Switch Dinamico dentro de un while

Creo que el que no entendiste eres tu, la estructura del switch que estas usando es incorrecta, que es lo que quieres evaluar en el switch?

Saludos.
  #5 (permalink)  
Antiguo 17/05/2009, 12:00
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 14
Respuesta: Switch Dinamico dentro de un while

Supongo que más bien lo que quieres es esto:
Código PHP:
 switch($_GET['canal']) 
            {               
                  case 
$row['nombre']: 
                  while(
$row mysql_fetch_array($consultatv)) 
                  {  
                        echo 
$comun->recuadro('Inicio'); 
                        echo 
'<h2>'.$row["nombreCabezera"].'</h2>'
                        echo 
$varclass->opcion($row['code'],$row['embeb'],5); 
                        echo 
$comun->recuadro('Final'); 
                  } 
                 break;
                 default: 
                 echo 
"esto es el default: 
                 break; 
           } 
No puedes hacerlo así exactamente porque $row['nombre'] no va a valer nada en ese punto, pero se entiende la idea. Antes se te ha entendido perfectamente, porque tu problema era que la estructura que proponías era incorrecta y se te ha indicado cómo se estructura correctamente un switch.

De hecho, si no quieres poner otras opciones no veo por qué usar un switch aquí, ya que es un poco raro tal y como lo quieres hacer. Puedes hacer otras cosas como hacer simplemente el while y poner un contador dentro que se incremente a cada vuelta. Si no se incrementa, es que no había elementos y puedes hacer lo que quieras hacer en el default.
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 02:12.