Foros del Web » Programando para Internet » PHP »

If en lectura de tabla

Estas en el tema de If en lectura de tabla en el foro de PHP en Foros del Web. No entiendo como hacer que este if me transforme los codigos en nombres, creo que estoy usando mal las variables y los campos, puede ser ...
  #1 (permalink)  
Antiguo 07/12/2017, 07:36
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
If en lectura de tabla

No entiendo como hacer que este if me transforme los codigos en nombres, creo que estoy usando mal las variables y los campos, puede ser ???
me da este error Undefined variable: Cod_area in C:\wamp64\www\alterna\listaact.php on line 63

Código PHP:
<?php

    $usuario 
"root";
    
$password "";
    
$servidor "localhost";
    
$basededatos "tural";
$Pre $_POST['Cod_Act'];
echo 
$Pre;
    
    
$conexion mysqli_connect$servidor$usuario"" ) or die ("No se ha podido conectar al servidor de Base de datos");
    
    
    
$db mysqli_select_db$conexion'tural' ) or die ( "Upps! Pues va a ser que no se ha podido conectar a la base de datos" );
    
    
$consulta "SELECT * FROM prestad WHERE Cod_Act = '$Pre'";
    
$resultado mysqli_query$conexion$consulta ) or die ( "Algo ha ido mal en la consulta a la base de datos");
    echo 
"<table border='1' width='60%' border='1' align='center'>";
    echo 
"<tr>";
    echo 
"<th>Listado de prestadores por actividad</th>";
    echo 
"</tr>";
    echo 
"<table border='2' width='60%' border='1' align='center'>";
    echo 
"<tr>";
    echo 
"<th>Nombre</th>";
    echo 
"<th>Cod. Activ</th>";
    echo 
"<th>Cod. Area</th>";
    echo 
"<th>Nombre Fant.</th>";
    echo 
"<th>Mail</th>";
    echo 
"<th>Telefono</th>";
    echo 
"<th>Licencia</th>";
    echo 
"</tr>";
    
//_________________Codicional Areas_________________________//
    
if ('Cod_area' == 1) { 
    
$Cod_area == "Calamuchita";
     } elseif (
'Cod_area' == 2) { 
     
$Codarea == "Capital";
     } elseif (
'Cod_area' == 3) { 
    
$Cod_area == "Noroeste";
     } elseif (
'Cod_area' == 4) { 
    
$Cod_area == "Norte";
    
//echo $Cod_area;
     
} elseif ('Cod_area' == 5) { 
    
$Cod_area == "Paravachasca";
     } elseif (
'Cod_area' == 6) { 
    
$Cod_area == "Punilla";
     } elseif (
'Cod_area' == 7) { 
    
$Cod_area == "Sierras Chicas";
     } elseif (
'Cod_area' == 8) {
    
$Cod_area == "Rutas de Acceso";
     } elseif (
'Cod_area' == 9) { 
    
$Cod_area == "Serras del Sur";
     } elseif (
'Cod_area' == 10) { 
    
$Cod_area == "Traslasierras";   
     } else {
    
$Cod_area == "Mar Chiquita";
     }


    
//__________________________________________________________//
    
    
while ($columna mysqli_fetch_array$resultado ))
    {
        echo 
"<tr>";
        echo 
"<td>" $columna['Nyap'] . "</td><td>" $columna['Cod_act'] . "</td><td>" $columna['Cod_area'] . "</td><td>" 
        
$columna['Nombre_fant'] . "</td><td>" $columna['Mail'] . "</td><td>" $columna['Tel'] . "</td><td>" $columna['N_Resol'] . "</td>";
        echo 
"</tr>";
    }
    
    echo 
"</table>"
    
mysqli_close$conexion );
?>
  #2 (permalink)  
Antiguo 07/12/2017, 07:45
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: If en lectura de tabla

debes meter la condicion dentro del where y fueres hecho un array:
Código PHP:
Ver original
  1. while ($columna = mysqli_fetch_array( $resultado ))
  2. {
  3.  
  4. switch($columna['Cod_area']){
  5.     case '1':
  6.         $codarea = "Calamuchita";
  7.     break;
  8.     case '2':
  9.         $codarea = "Capital";
  10.     break;
  11.     case '3':
  12.         $codarea = "Noroeste";
  13.     break;
  14.     case '4':
  15.         $codarea = "Norte";
  16.     break;
  17.     case '5':
  18.         $codarea = "Paravachasca";
  19.     break;
  20.     case '6':
  21.         $codarea = "Punilla";
  22.     break;
  23.     case '7':
  24.         $codarea = "Sierra Chicas";
  25.     break;
  26.     case '8':
  27.         $codarea = "Rutas de Acceso";
  28.     break;
  29.     case '9':
  30.         $codarea = "Sierras del Sur";
  31.     break;
  32.     case '10':
  33.         $codarea = "Traslatierras";
  34.     break;
  35.  
  36.     default:
  37.         $codarea = "Mar Chiquieta";
  38. }
  39.  
  40.     echo "<tr>";
  41.     echo "<td>" . $columna['Nyap'] . "</td><td>" . $columna['Cod_act'] . "</td><td>" . $codarea . "</td><td>" .  
  42.     $columna['Nombre_fant'] . "</td><td>" . $columna['Mail'] . "</td><td>" . $columna['Tel'] . "</td><td>" . $columna['N_Resol'] . "</td>";
  43.     echo "</tr>";
  44. }

utiliza un switch se ve mas limpio
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 07/12/2017, 08:17
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: If en lectura de tabla

Amigo, por que le sacas los corchetes a codarea??, me da este error,
Undefined variable: Cod_area in C:\wamp64\www\alterna\listaact.php on line 107
  #4 (permalink)  
Antiguo 07/12/2017, 08:23
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: If en lectura de tabla

Ya lo solucione amigo, muchas gracias por tu tiempo
  #5 (permalink)  
Antiguo 11/12/2017, 02:56
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 13 años, 7 meses
Puntos: 20
Respuesta: If en lectura de tabla

if else es mucho más rápido que un switch si la comparación la haces por ===
__________________
CHOOO COOO LAAA TEEEEEEEEE
  #6 (permalink)  
Antiguo 11/12/2017, 06:49
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: If en lectura de tabla

Por escalabilidad, y para no hacer extensto tu código te recomiendo tener una bd y/o recurso externo para el código de área, ya hacer 10 ifs para eso es algo poco eficiente (en cuanto a código) imágina que amplías a 20, a 30, etc...

Te recomiendo que para ese proceso, uses otro método

Etiquetas: lectura, mysql, nombre, select, tabla, variable
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 03:30.