Foros del Web » Programando para Internet » PHP »

Al visualizar consultas: problema al mostrar los campos.

Estas en el tema de Al visualizar consultas: problema al mostrar los campos. en el foro de PHP en Foros del Web. Hola! Ya estoy de nuevo aquí con otra consulta Tengo el código de aquí abajo, y me muestra los datos en columna perfectamente, pero quiero ...
  #1 (permalink)  
Antiguo 14/11/2002, 12:31
 
Fecha de Ingreso: noviembre-2002
Mensajes: 11
Antigüedad: 21 años, 5 meses
Puntos: 0
Pregunta Al visualizar consultas: problema al mostrar los campos.

Hola! Ya estoy de nuevo aquí con otra consulta

Tengo el código de aquí abajo, y me muestra los datos en columna perfectamente, pero quiero que donde pone

echo "<td>",QUIEROSABERQUEPONERAQUI,"</td>";

me salga el nombre del campo al que corresponde el Query. He probado con $resultado y me sale: Resource id #2
y con $registro pone: Array

<html>

<body>

<?

echo "Ha consultado el albarán: ",$HTTP_ENV_VARS[REQUEST_METHOD],"<br>";

echo $HTTP_POST_VARS['albaran'],"<br>";

$base="datos";

$tabla="tabla";

$albaran=$HTTP_POST_VARS['albaran'];

$conexion=mysql_connect ("localhost","root","pwrd");

mysql_select_db ($base, $conexion);

$resultado=mysql_query ("SELECT Cod_suc, Tipo_doc, Mcli, Codi_soc FROM $tabla WHERE N_alba='$albaran'" ,$conexion);

echo "<table align=center border=2>";

while ($registro = mysql_fetch_row($resultado)){

foreach($registro as $clave){

echo "<td>",QUIEROSABERQUEPONERAQUI,"</td>";
echo "<td>",$clave,"</td>";

echo "<tr>";

}
}
echo "</table>";

mysql_close();

?>

</html>

</body>

Mil gracias a todos!

Última edición por AkuraWeb; 14/11/2002 a las 12:34
  #2 (permalink)  
Antiguo 14/11/2002, 13:24
 
Fecha de Ingreso: noviembre-2002
Mensajes: 11
Antigüedad: 21 años, 5 meses
Puntos: 0
¡HEEEEEELP!
  #3 (permalink)  
Antiguo 14/11/2002, 14:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Creo que deberias cambiar el mysql_fetch_row() por mysql_fetch_array(). Y modificar el foreach:
Código PHP:
foreach($registro as $campo => $clave
En $campo estaria el nombre del campo.

Por cierto, revisa tus tags <tr>, creo que no generara codigo HTML valido.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 14/11/2002, 15:43
 
Fecha de Ingreso: noviembre-2002
Mensajes: 11
Antigüedad: 21 años, 5 meses
Puntos: 0
Hola!

Se agradece pero no me vale :(

Lo que necesito es que a la vez que me da 1 resultado de una consulta (por ejemplo Cod_suc que es 88) delante me ponga el nombre de la consulta, de tal modo que me quede así:

Cod_suc | 88
Tipo_doc | Recogida
Mcli | PEPE SA
Codi_soc | Herpesa

Y no como me queda ahora:

QUIEROSABERQUEPONERAQUI | 88
QUIEROSABERQUEPONERAQUI | Recogida
QUIEROSABERQUEPONERAQUI | PEPE SA
QUIEROSABERQUEPONERAQUI | Herpesa

Es por eso que debo de modificar el código:

foreach($registro as $clave){

echo "<td>",QUIEROSABERQUEPONERAQUI,"</td>";
echo "<td>",$clave,"</td>";

echo "<tr>";

}

Gracias!
  #5 (permalink)  
Antiguo 15/11/2002, 04:53
 
Fecha de Ingreso: noviembre-2002
Mensajes: 11
Antigüedad: 21 años, 5 meses
Puntos: 0
Nadie sabe¿??¿
  #6 (permalink)  
Antiguo 15/11/2002, 07:47
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Akura... deberías leer más detenidamente lo que te recomiendan, porque josemi ya te dió la solución que necesitabas. Tan solo no te lo ha puesto en todo el código, como debes pretenderlo.
  1. cambia la función mysql_fetch_row(); por mysql_fetch_array();
  2. cambia foreach($registro as $clave) por
    foreach($registro as $campo => $clave)
  3. cambia echo "<td>",QUIEROSABERQUEPONERAQUI,"</td>"; por echo "<td>$campo</td>";

Suerte
  #7 (permalink)  
Antiguo 15/11/2002, 10:05
 
Fecha de Ingreso: noviembre-2002
Mensajes: 11
Antigüedad: 21 años, 5 meses
Puntos: 0
Hola!

Gracias por la explicación a los dos, y lamento mi ineptitud pero es que llevo 12 días con el PHP

La cosa es ue funciona PERO cuando me devuelve los campos me sale esto:

0 | 1
Cod_suc | 1
1 | R
Tipo_doc | R
2 | 101
Mcli | 101

Es decir, que me duplica los resultados, uno con un número y otro con el campo.

Habría forma de evitar que me saliesen los campos de número?

Graciaaaaaaas ;)
  #8 (permalink)  
Antiguo 15/11/2002, 15:45
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si miras en el manual, veras que mysql_fetch_array() tiene un segundo parametro opcional. Si le pasas la constante MYSQL_ASSOC, te devuelve solo el array asociativo (solo los nombres).

Alternativamente podrias usar la funcion mysql_fetch_assoc() en lugar de mysql_fetch_array(). Nunca la he usado.

Si estas empezando en esto de PHP te recomiendo que te familiarices rapidamente con el manual de www.php.net, y que te descarges alguna version. En el estan todas las funciones de PHP y si aprendes a usarlo te facilitara mucho la vida.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 16/11/2002, 01:13
 
Fecha de Ingreso: noviembre-2002
Mensajes: 11
Antigüedad: 21 años, 5 meses
Puntos: 0
Muchas gracias! Ya me funciona :)

He estado mirando el manual lo que ocurre es que lo que me han pedido me ha pillado e sopetón, y lo quieren para "ayer", por lo que no me lo he podido leer todo lo bien que me habría gustado, cosa que en cuanto acabe esto haré gustosamente ;)
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:32.