Foros del Web » Programando para Internet » PHP »

Consulta por que muestra nombre del campo de la tabla en lugar del contenido?

Estas en el tema de Consulta por que muestra nombre del campo de la tabla en lugar del contenido? en el foro de PHP en Foros del Web. Hola amigos que tal estan, Vereis tengo este codigo con el que pretendo listar el contenido de una tabla: Código PHP: $q  =  strtolower ( ...
  #1 (permalink)  
Antiguo 02/07/2013, 16:23
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Consulta por que muestra nombre del campo de la tabla en lugar del contenido?

Hola amigos que tal estan,

Vereis tengo este codigo con el que pretendo listar el contenido de una tabla:

Código PHP:
$q strtolower($_GET["q"]);
if (!
$q) return;
$busqueda $_GET['q']; // esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li' 
$listado mysql_query("Select * FROM empresas_listas_articulos2 WHERE descripcion LIKE '$busqueda%'"); 
$palabra mysql_fetch_array($listado);

foreach (
$palabra as $key=>$value) {
    if (
strpos(strtolower($key), $q) !== false) {
        echo 
"$key|$value\n";
    }

La cosa es que me muestra el nombre del campo de la tabla y no el contenido.

A ver si pueden echarle un ojo y ven algo.

Un saludo!!
  #2 (permalink)  
Antiguo 02/07/2013, 16:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta por que muestra nombre del campo de la tabla en lugar del conteni

Pues estás iterando únicamente sobre un resultado, de ninguna forma estás iterando todos los resultados.

El foreach() que tienes usa $palabra, así que si no sabes lo que haces podrías depurar un poco tu código para que veas bien donde metes la pata.

Código PHP:
Ver original
  1. var_dump($palabra);

De paso consulta el manual, se nota que no sabes ni como funciona lo que haces.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/07/2013, 16:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Consulta por que muestra nombre del campo de la tabla en lugar del conteni

Hola amigo que tal,

En cuanto a lo de un unico resultado, he modificado el codigo de este modo,

Código PHP:
Ver original
  1. $q = strtolower($_GET["q"]);
  2. if (!$q) return;
  3. $busqueda = $_GET['q']; // esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'
  4. $listado = mysql_query("Select * FROM empresas_listas_articulos2 WHERE descripcion LIKE '$busqueda%'");
  5. while($palabra = mysql_fetch_array($listado)){
  6.  
  7. foreach ($palabra as $key=>$value) {
  8.     if (strpos(strtolower($key), $q) !== false) {
  9.         echo "$value\n";
  10.     }
  11. }
  12. }

Pero me sigue funcionando mal en ocasiones muestra el contenido de dos columnas de la tabla las que contienen los id no la descripcion y en otras si lo hace bien.

Un saludo y gracias por la ayuda
  #4 (permalink)  
Antiguo 02/07/2013, 16:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta por que muestra nombre del campo de la tabla en lugar del conteni

Es exactamente por la misma razón de que no sabes como funciona foreach() sobre las variable que utilizas, aún así sigues haciendo mal las cosas.

¿Qué es lo que pretendes hacer con foreach()?

Además entiende que estás comparando $q contra la clave (el nombre de la columna) y no contra el valor.

Porque entiende que así como lo haces solo iteras un registro a la vez, es decir, un array clave-valor sencillo y no una lista de ellos.

Explica bien lo que pretendes ya que de otra forma lamento decir que sólo tu sabes lo que haces, pues lo has programado así, entonces asumo que sabes perfectamente lo que estás haciendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 02/07/2013, 16:48
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Consulta por que muestra nombre del campo de la tabla en lugar del conteni

Te explico lo que pretendo amigo,

Intengo recoger todos los resultados que encuentre $listado

y mostrarlo con el foreach

El codigo lo tengo modificado de este modo

Código PHP:
Ver original
  1. $q = strtolower($_GET["q"]);
  2. if (!$q) return;
  3. $busqueda = $_GET['q']; // esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'
  4. $listado = mysql_query("Select descripcion FROM empresas_listas_articulos2 WHERE descripcion LIKE '$busqueda%'");
  5. while($palabra = mysql_fetch_array($listado)){
  6.  
  7. echo $palabra['descripcion'];
  8.  
  9. }

Y si funciona el problema es que si entras en http://cofranet.org/localizacion/dlc...complete/demo/

Que tengo el archivo y en el campo de Single Bird (remote): escribes algo por ejemplo una "c"
muestra bien el resultado pero fijate que lo coge todo con un resultado si lo pinchas, de hay el modificar ese codigo por que puse en pricipio que era el original y no hace esto.

Dime si me explicado bien amigo, un saludo
  #6 (permalink)  
Antiguo 03/07/2013, 03:11
Avatar de exatienda  
Fecha de Ingreso: julio-2013
Ubicación: Manresa, Barcelona
Mensajes: 227
Antigüedad: 10 años, 9 meses
Puntos: 21
Respuesta: Consulta por que muestra nombre del campo de la tabla en lugar del conteni

Para mostrar el contenido de un campo de una tabla utiliza siempre (a mi me funciona al menos):

echo $row['nombre_del_campo'];
__________________
cajas rack tpvs | impresoras

Etiquetas: campo, lugar, muestra, mysql, nombre, select, tabla
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 05:14.