Foros del Web » Programando para Internet » PHP »

Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Estas en el tema de Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql en el foro de PHP en Foros del Web. Hola Tengo una duda y me tiene perdido la verdad, no se como puedo obtener con mysql_num_fields(), solo los nombres de campo de una tabla ...
  #1 (permalink)  
Antiguo 13/01/2008, 17:05
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Hola

Tengo una duda y me tiene perdido la verdad, no se como puedo obtener con mysql_num_fields(), solo los nombres de campo de una tabla que empiezan por "u", he conseguido que me imprima todos los campos de la tabla con el siguiente codigo:

Código PHP:
<?php
require 'ulogin.php';
require (
"classes/conectar.Mysql.php");
require (
"var.php");
require 
'funciones/funciones_delegaciones.php';


$result mysql_query('select * from prefactura');
if (!
$result) {
    die(
'Fallo el query: ' mysql_error());
}
/* get column metadata */
$i 0;
while (
$i mysql_num_fields($result)) {
    echo 
"Informacion de Cloumna $i:<br />\n";
    
$meta mysql_fetch_field($result$i);
    if (!
$meta) {
        echo 
"No hay información<br />\n";
    }
    
    
// Se que aqui deberia poner algo , pero no se el que
    
echo "<pre>

name:         $meta->name

</pre>"
;
    
$i++;
}
mysql_free_result($result);
?>
Pero me imrrime todos y solo quiero que sean los que empiezan por "u".


Muchas gracias.

Saludos
  #2 (permalink)  
Antiguo 13/01/2008, 17:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Puedes usar substr para comparar los nombres de los campos, o usar $cadena[0] para checar que es la primera letra de la cadena.

Saludos.
  #3 (permalink)  
Antiguo 13/01/2008, 17:29
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 4 meses
Puntos: 17
Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

¿Y por qué no haces la consulta directamente con los que empiecen por la letra que tú quieras?
  #4 (permalink)  
Antiguo 13/01/2008, 17:40
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Cita:
Iniciado por Keysher Ver Mensaje
¿Y por qué no haces la consulta directamente con los que empiecen por la letra que tú quieras?
Hola

Eso es lo que quiero, mira me explico haber si puedo, que es un tanto lio, tengo una tabla super larga osea con muchisimos nombres de campo, y necesito saber como obtener el nombre de los campos que empiezan por "u".

Lo he intentado con mysql de la siguiente manera, pero devuelve error:

Código PHP:
mysql_query =("SELECT %u FROM prefactura"); 

Pero esta devuelve error.

¿Como se deberia hacer para obtener solo los campos que empiezan por "u", se podria utilizar alguna expresion regular o algo asi?

Muchas gracias
  #5 (permalink)  
Antiguo 13/01/2008, 17:41
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Cita:
Iniciado por GatorV Ver Mensaje
Puedes usar substr para comparar los nombres de los campos, o usar $cadena[0] para checar que es la primera letra de la cadena.

Saludos.
Hola GatorV

Me podrias indicar por donde puedo empezar por que ahora mismo tengo la cabeza tarumba con tanto lio de campos y la leche.

Un saludo
  #6 (permalink)  
Antiguo 13/01/2008, 17:48
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 4 meses
Puntos: 17
Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

SELECT campos que te interesen FROM tabla WHERE campo_a_comparar LIKE "u%"
  #7 (permalink)  
Antiguo 13/01/2008, 17:54
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Cita:
Iniciado por Keysher Ver Mensaje
SELECT campos que te interesen FROM tabla WHERE campo_a_comparar LIKE "u%"
Hola

Es que lo que no quiero es tener que escribir los 40 y tantos campos que me interesan, por eso quiero alguna función o algo para tener en un array por ejemplo, todos los campos que empiezan, por "u", no los datos, si no los campos ese es mi problema.

Muchas gracias

Un saludo
  #8 (permalink)  
Antiguo 13/01/2008, 19:09
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 3 meses
Puntos: 11
De acuerdo Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Primero:

En base a los ejemplos anteriores que te dieron, la foerma correcta de hacerlo es:

Cita:
"SELECT campo FROM tabla WHERE SUBSTRING(campo,1,1) = 'p'"
En este caso la consulta nos va a devolver sólo aquellos datos que comiencen por "p" y no todos. Ahorramos trabajo.

Segundo:

Esa no es la duda en cuestion. En respuesta a tu pregunta, no se como hacerlo, usando algún comodín tal vez, pero te recomiendo que escribas los 40 campos, total sólo lo debes hacer una vez, no veo problema.

Saludos
  #9 (permalink)  
Antiguo 14/01/2008, 14:40
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Como sacar solamente los nombres de campos que empiezan por "u" de un tabla mysql

Cita:
Iniciado por usermax Ver Mensaje
Primero:

En base a los ejemplos anteriores que te dieron, la foerma correcta de hacerlo es:



En este caso la consulta nos va a devolver sólo aquellos datos que comiencen por "p" y no todos. Ahorramos trabajo.

Segundo:

Esa no es la duda en cuestion. En respuesta a tu pregunta, no se como hacerlo, usando algún comodín tal vez, pero te recomiendo que escribas los 40 campos, total sólo lo debes hacer una vez, no veo problema.

Saludos
Hola

El problema es que esa tabla puede crecer y tendria que volver a programar eso en funcion de como creciera dicha tabla, pero bueno aprovechando las ideas de los que habeis escrito se me a ocurrido cargar los nombres de los campos en una tabla que se llama nombre_campos y asi puedo utilizar un simple select y acceder solo a los campos que me interesan con un comodin dentro del mismo select.


Saludos a todos y gracias.
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:27.