Foros del Web » Programando para Internet » PHP »

Cambio de Texto en Consulta

Estas en el tema de Cambio de Texto en Consulta en el foro de PHP en Foros del Web. Hola amigos... necesito ayuda con un cambio de texto.... lo que pasa es q cuando hago una consulta a una base de datos mysql con ...
  #1 (permalink)  
Antiguo 01/08/2008, 08:33
Avatar de AdanAlsi  
Fecha de Ingreso: julio-2008
Ubicación: Bogotá, Colombia
Mensajes: 28
Antigüedad: 16 años, 4 meses
Puntos: 0
Cambio de Texto en Consulta

Hola amigos... necesito ayuda con un cambio de texto.... lo que pasa es q cuando hago una consulta a una base de datos mysql con php la consulta se ejecuta correctamente arrojandome los siguientes valores

Clase
P01
ad
P01
P01
ad


pero ahora lo q necesito es validar q cuando enla consulta se tenga el valor "P01" cambie el texto por "Prod." y cuando se tenga el valor ad se cambie "ad" por "Admin", quedando asi


Clase
Prod.
Admin
Prod.
Prod.
Admin


¿hay alguna fomra de hacer esto q les digo?... ya he utilizado str_replace y no me sale nada... agradezco q me ayuden con esto...

Saludos

Pdta. Aqui les dejo el codigo de la consulta:


Código PHP:
<td align="center "><div align="center"><span class="Estilo1"> 
<?php $result=mysql_query("select codcc from MTEMPLEA order by codigo"); 
if(
$row=mysql_fetch_array ($result)){
 echo 
"<center>";
 echo 
"<table border='0'>\n";
  do {
     echo
"<tr><td>".$row["codcc"]."</td></tr>\n";
    }
    while(
$row=mysql_fetch_array($result));
 echo
"</table>\n";
}else{
    echo
"No se encontro ningun registro";
     }
?>
</span></div></td>
  #2 (permalink)  
Antiguo 01/08/2008, 09:51
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años
Puntos: 14
Respuesta: Cambio de Texto en Consulta

Hola AdanAlsi


Código PHP:

<?php 

$valores 
= array("P01" => "Prod.","ad" =>"Admin." )


$result=mysql_query("select codcc from MTEMPLEA order by codigo"); 
if(
$row=mysql_fetch_array ($result)){
 echo 
"<center>";
 echo 
"<table border='0'>\n";
  do {
     echo
"<tr><td>";
   if (
array_key_exists($row["codcc"], $valores)) 
     echo 
$valores[$row["codcc"]];
 else echo 
$row["codcc"];


          
      echo 
"</td></tr>\n";
    }
    while(
$row=mysql_fetch_array($result));
 echo
"</table>\n";
}else{
    echo
"No se encontro ningun registro";
     }
?>

Suerte
__________________
My path is lit by my own fire, I only go where I desire
  #3 (permalink)  
Antiguo 01/08/2008, 10:48
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Cambio de Texto en Consulta

Cita:
Iniciado por AdanAlsi Ver Mensaje
Hola amigos... necesito ayuda con un cambio de texto.... lo que pasa es q cuando hago una consulta a una base de datos mysql con php la consulta se ejecuta correctamente arrojandome los siguientes valores

Clase
P01
ad
P01
P01
ad


pero ahora lo q necesito es validar q cuando enla consulta se tenga el valor "P01" cambie el texto por "Prod." y cuando se tenga el valor ad se cambie "ad" por "Admin", quedando asi


Clase
Prod.
Admin
Prod.
Prod.
Admin


¿hay alguna fomra de hacer esto q les digo?... ya he utilizado str_replace y no me sale nada... agradezco q me ayuden con esto...

Saludos

Pdta. Aqui les dejo el codigo de la consulta:


Código PHP:
<td align="center "><div align="center"><span class="Estilo1"> 
<?php $result=mysql_query("select codcc from MTEMPLEA order by codigo"); 
if(
$row=mysql_fetch_array ($result)){
 echo 
"<center>";
 echo 
"<table border='0'>\n";
  do {
     echo
"<tr><td>".$row["codcc"]."</td></tr>\n";
    }
    while(
$row=mysql_fetch_array($result));
 echo
"</table>\n";
}else{
    echo
"No se encontro ningun registro";
     }
?>
</span></div></td>
por que no usas la sentencia case when de mysql?

prueba esta consulta:

select CASE
WHEN codcc = 'P01' THEN 'Prod'
WHEN codcc = 'ad' THEN 'Admin'
.... (aqui todos los posibles estados de codcc y su equivalencia, si las tienes)...
ELSE 'No hay codcc específico'
END AS codcc from MTEMPLEA order by codigo;

Desconozco si la sentencia case when admite un 'else when' por si tienes mas de esos dos supuestos.

pruebalo y nos cuentas, pero de todos modos mirate el manual :)

Última edición por DooBie; 01/08/2008 a las 10:53 Razón: Amplio la consulta sql, para que quede mas clara
  #4 (permalink)  
Antiguo 01/08/2008, 12:39
Avatar de AdanAlsi  
Fecha de Ingreso: julio-2008
Ubicación: Bogotá, Colombia
Mensajes: 28
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Cambio de Texto en Consulta

hey amigos gracias por responderme tan rapido... me han ayudado a resolver el problema q tenia... les agradezco su colaboración... he probado los dos metodos y me han servido a la maravilla... gracias... espero poder contar con su ayuda si tengo otro inconveniente...
  #5 (permalink)  
Antiguo 01/08/2008, 13:24
Avatar de AdanAlsi  
Fecha de Ingreso: julio-2008
Ubicación: Bogotá, Colombia
Mensajes: 28
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Cambio de Texto en Consulta

hola amigos... me surgio una duda con las indicaciones q me han dado, ¿se utiliza la misma codificación si deseo hacer lo mismo pero conectado con sql server, es decir, puedo reemplazar el mysql_fetch_array, mysql_query, etc. por mssql_fetch_array, mssql_query, etc. sin q se me presente algun inconveniente?... además ¿tambn puedo utilizar el case when conectado con sql server?... agradezco su ayuda... muchas gracias pro todo
  #6 (permalink)  
Antiguo 01/08/2008, 15:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Cambio de Texto en Consulta

Hola AdanAlsi,

Es casi transparente y si debes de cambiar las funciones, la cuestion es que hay cosas de SQL server que no las soporta MySQL y viceversa, asi que checa primero eso.

Saludos.
  #7 (permalink)  
Antiguo 04/08/2008, 07:04
Avatar de AdanAlsi  
Fecha de Ingreso: julio-2008
Ubicación: Bogotá, Colombia
Mensajes: 28
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Cambio de Texto en Consulta

Gracias amigos por su ayuda.....
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 12:07.