Foros del Web » Programando para Internet » PHP »

¿Hay forma de hacer esto?

Estas en el tema de ¿Hay forma de hacer esto? en el foro de PHP en Foros del Web. Buenas tardes, Tengo una consulta a una tabla de una base de datos, que contiene muchas columnas. Quería saber si hay forma de que cuando ...
  #1 (permalink)  
Antiguo 08/01/2009, 11:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 16 años, 3 meses
Puntos: 1
¿Hay forma de hacer esto?

Buenas tardes,

Tengo una consulta a una tabla de una base de datos, que contiene muchas columnas. Quería saber si hay forma de que cuando encuentre el registro buscado, devolver el nombre de la columna en el que está, en lugar de devolver ese registro.

Es que la consulta busca en las 20-25 columnas de esa tabla, y quería hacer que el script devolviera el nombre de esa columna.

Espero haberme explicado bien......

Gracias por anticipado y un saludo.
  #2 (permalink)  
Antiguo 08/01/2009, 11:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: ¿Hay forma de hacer esto?

Hola Chechux,

Usa mysql_field_name para obtener el nombre de la columna.

Saludos
  #3 (permalink)  
Antiguo 08/01/2009, 12:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: ¿Hay forma de hacer esto?

Uy, he estado mirando la utilidad de esta función y (creo..., aunque no confío mucho en mis creencias) que no me sirve. Pongo un ejemplo para que quede más claro lo que necesito:

querydb3 = mysql_query("select * from tabla where (campo1 LIKE '".$idusuario2."' OR campo2 LIKE '".$idusuario2."' OR campo3 LIKE '".$idusuario2."' OR campo4 LIKE '".$idusuario2."' )") or die("Error en query:".mysql_error() );

Y si pongo esto:

echo $variable2=mysql_field_name($querydb3, 4);

Me sacará siempre campo4.


Lo que quiero es que me diga el campoX donde ha encontrado concretamente el usuario $usuario2. Quizá sea que me falta algo o que hay que añadir algo de código que ahora mismo no se me ocurre de qué forma añadirlo jeje.

Gracias por anticipado y un saludo.
  #4 (permalink)  
Antiguo 08/01/2009, 13:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: ¿Hay forma de hacer esto?

Mmm no en ese caso lo que vas a tener que hacer es ciclar el resultado ya que la BDD no te informa en que campo lo encontro, puedes usar mysql_fecth_assoc() para obtener un listado y luego hacer un foreach:
Código php:
Ver original
  1. foreach($resultset as $campo => $valor) {
  2.       if($valor == "lo que buscas") {
  3.              echo "El campo es $campo";
  4.              break;
  5.       }
  6. }

Saludos.
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 21:17.