Foros del Web » Programando para Internet » PHP »

consulta mysql y mostrar por pantalla

Estas en el tema de consulta mysql y mostrar por pantalla en el foro de PHP en Foros del Web. hola a todos. mi consulta es la siguiente. ¿ como muestro los datos de la siguiente consulta a mysql ? $sql = "select facturas.fact_nume, facturas.proveedores_prove_rut, ...
  #1 (permalink)  
Antiguo 06/03/2008, 08:28
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 0
consulta mysql y mostrar por pantalla

hola a todos. mi consulta es la siguiente. ¿ como muestro los datos de la siguiente consulta a mysql ?

$sql = "select facturas.fact_nume, facturas.proveedores_prove_rut, facturas.cuentas_cuen_codi
facturas.fact_fech_ingr, facturas.fact_desc, facturas.fact_monto, facturas.fact_fech_envi,
roles.rol_desc from facturas, roles
join asignacion on facturas.fact_nume = asignacion.facturas_fact_nume
join roles on roles.rol_codi = asignacion.rol_codi";

tengo 3 tablas de la siguiente forma:

CREATE TABLE roles (
rol_codi VARCHAR(20) NOT NULL,
rol_desc VARCHAR(45) NOT NULL,
PRIMARY KEY(rol_codi)
)

CREATE TABLE facturas (
fact_nume VARCHAR(45) NOT NULL,
proveedores_prove_rut VARCHAR(45) NOT NULL,
cuentas_cuen_codi INTEGER UNSIGNED NULL,
fact_fech_ingr DATE NOT NULL,
fact_desc TEXT NOT NULL,
fact_monto INTEGER UNSIGNED NOT NULL,
fact_fech_envi DATE NULL,
PRIMARY KEY(fact_nume),
INDEX facturas_FKIndex1(cuentas_cuen_codi),
INDEX facturas_FKIndex2(proveedores_prove_rut),
FOREIGN KEY(cuentas_cuen_codi)
REFERENCES cuentas(cuen_codi)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY(proveedores_prove_rut)
REFERENCES proveedores(prove_rut)
ON DELETE CASCADE
ON UPDATE CASCADE
)

CREATE TABLE asignacion (
asig_codi INTEGER UNSIGNED NOT NULL,
facturas_fact_nume VARCHAR(45) NOT NULL,
roles_rol_codi VARCHAR(20) NOT NULL,
rol_entr INTEGER UNSIGNED NULL,
rol_gast INTEGER UNSIGNED NULL,
rol_otro INTEGER UNSIGNED NULL,
PRIMARY KEY(asig_codi),
INDEX asignacion_FKIndex1(roles_rol_codi),
INDEX asignacion_FKIndex2(facturas_fact_nume),
FOREIGN KEY(roles_rol_codi)
REFERENCES roles(rol_codi)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY(facturas_fact_nume)
REFERENCES facturas(fact_nume)
ON DELETE CASCADE
ON UPDATE CASCADE
)

lo que deseo es mostrar por pantalla los datos de cada factura incluyendo el nombre de los responsables(estos se encuentran en la tabla roles).
la tabla asignacion relaciona la tabla facturas y roles.

de antemano muchas gracias
  #2 (permalink)  
Antiguo 06/03/2008, 08:51
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 17 años, 6 meses
Puntos: 2
Re: consulta mysql y mostrar por pantalla

Manuel:

Que es lo que deseas? Deplegar cada factura en paginas distintas???
  #3 (permalink)  
Antiguo 06/03/2008, 08:53
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: consulta mysql y mostrar por pantalla

Lo que deseo es mostrar en una tabla los datos de la factura y en las 2 ultimas columnas mostrar el nombre de los responsables de cada factura.

todo esto en una sola pagina

tengo el siguiente codigo:

<?php

// LLAMANDO AL MODULO DE CONEXION
include("../php/modulo_conexion.php");

// ESTABLECIENDO LA CONEXION
$cnn = mysql_connect($servidor,$usuario,$password);
if(!isset($cnn)){
die ("Error de conexión: ").mysql_error();
}

// SELECCIONANDO LA BASE DE DATOS
mysql_select_db($database,$cnn);

//$sql = "SELECT * FROM facturas ORDER BY fact_fech_ingr";

$sql_final = "SELECT facturas.fact_nume, facturas.proveedores_prove_rut, facturas.cuentas_cuen_codi,
facturas.fact_fech_ingr, facturas.fact_desc, facturas.fact_monto, facturas.fact_fech_envi,
roles.rol_desc
FROM facturas, asignacion, roles
WHERE facturas.fact_nume = asignacion.facturas_fact_nume
AND roles on roles.rol_codi = asignacion.roles_rol_codi";

$resultado = mysql_query($sql_final,$cnn);
echo mysql_error();

// codigo responsable
$codigo_resp = 0;
$responsable = 0;

$contador = 0;

$facturas = array();

// DEFINIENDO UNA TABLA PARA MOSTRAR LOS DATOS LAS FACTURAS
echo "<center>";
echo "<table border='2' bgcolor='#e3e4fa'>\n";
echo "<tr> \n";
echo "<td><b>Número de Factura</b></td> \n";
echo "<td><b>Rut del Proveedor</b></td> \n";
echo "<td><b>Código de Cuenta Contable</b></td> \n";
echo "<td><b>Fecha de Ingreso</b></td> \n";
echo "<td><b>Descripción</b></td> \n";
echo "<td><b>Monto</b></td> \n";
echo "<td><b>Fecha de Envío</td></b> \n";
echo "<td><b>Responsable de Gasto</td></b> \n";
echo "</tr> \n";
echo "</center>";

while($row = mysql_fetch_array($resultado)){

// CAMBIANDO EL FORMATO DE LA FECHA DE AAAA-MM-DD a DD-MM-AAAA
$f1 = substr($row["fact_fech_ingr"],0,4);
$f2 = substr($row["fact_fech_ingr"],5,2);
$f3 = substr($row["fact_fech_ingr"],8,2);
$fecha_ingreso = $f3."-".$f2."-".$f1;

// COMPROBANDO SI EL CODIGO DE CUENTA Y LA FECHA DE ENVIO
// TIENEN VALOR NULL. DE SER ASI, MUESTRA UN MENSAJE
// DE QUE NO ESTÁ INGRESADO EL DATO.
if($row['cuentas_cuen_codi'] == NULL){
$row['cuentas_cuen_codi'] = "<b> No Ingresada </b>";
}

if($row['fact_fech_envi'] == NULL or $row['fact_fech_envi'] == "0000-00-00"){
$row['fact_fech_envi'] = "<b> No Ingresada <b>";
}

?>

<html>
<head>

<title> Consulta de Facturas - UNIVERSIA CHILE </title>

<!-- ENLAZANDO HOJAS DE ESTILO -->
<link href="../css/estilo_tablas.css" rel="stylesheet" rev="stylesheet" type="text/css">

<!-- LLAMADA A LAS FUNCIONES JAVASCRIPT -->
<script src="../js/validar_codificacion.js" type="text/javascript"></script>

</head>

<body>

<form id="f" method="post">

<center>

<!-- CONTINUACION TABLA -->
<tr>
<td class="estilo1" > <?php echo $row['fact_nume']; ?> </td>
<td class="estilo1" > <?php echo $row['proveedores_prove_rut']; ?> </td>
<td class="estilo1" > <?php echo $row['cuentas_cuen_codi']; ?> </td>
<td class="estilo1" > <?php echo $fecha_ingreso ?> </td>
<td class="estilo1" > <?php echo $row['fact_desc']; ?> </td>
<td class="estilo1" > <?php echo "$ ".$row['fact_monto']; ?> </td>
<td class="estilo1" > <?php echo $row['fact_fech_envi']; ?> </td>
<td class="estilo1" > <?php echo $row['roles_desc']; ?> </td>
</tr>

<?php
//} // FIN WHILE RESPONSABLES
} // FIN WHILE FACTURAS
mysql_close($cnn);
?>

</table>

<br>

</center>

</form>

</body>

</html>

Última edición por barto3x; 06/03/2008 a las 08:59
  #4 (permalink)  
Antiguo 06/03/2008, 08:54
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 17 años, 6 meses
Puntos: 2
Re: consulta mysql y mostrar por pantalla

Tienes algo más "visual"???
  #5 (permalink)  
Antiguo 06/03/2008, 08:56
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: consulta mysql y mostrar por pantalla

acabo de enviar el codigo php
  #6 (permalink)  
Antiguo 06/03/2008, 09:18
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: consulta mysql y mostrar por pantalla

sabes. me muestra los datos pero los responsables me los muestra en la misma columna y junto a esto se repite el registro.. como lo hago
  #7 (permalink)  
Antiguo 06/03/2008, 09:23
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 17 años, 6 meses
Puntos: 2
Re: consulta mysql y mostrar por pantalla

Código HTML:
// DEFINIENDO UNA TABLA PARA MOSTRAR LOS DATOS LAS FACTURAS
echo "<center>";
echo "<table border='2' bgcolor='#e3e4fa'>\n";
echo "<tr> \n";
echo "<td><b>Número de Factura</b></td> \n";
echo "<td><b>Rut del Proveedor</b></td> \n";
echo "<td><b>Código de Cuenta Contable</b></td> \n";
echo "<td><b>Fecha de Ingreso</b></td> \n";
echo "<td><b>Descripción</b></td> \n";
echo "<td><b>Monto</b></td> \n";
echo "<td><b>Fecha de Envío</td></b> \n";
echo "<td><b>Responsable de Gasto</td></b> \n";
echo "</tr> \n";
echo "</center>";
El responsable aparace claramente aquí en la columna de los datos de la factura.. si quieres que aparezca en otra columna, debes cambiar el código acá.. Te recomiendo que "dibujes" primero la tabla como quieres que salga, y después la transformes a PHP.
  #8 (permalink)  
Antiguo 06/03/2008, 09:35
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: consulta mysql y mostrar por pantalla

<html>

<head>
<title> Actualizacion Exitosa - UNIVERSIA CHILE </title>

<!-- Enlazando hoja de estilo básica -->
<link href="css/estilo.css" rel="stylesheet" rev="stylesheet" type="text/css">

</head>

<body>

<p><a href="html/facturas.html"> Facturas </a></p>
<p>-------------</p>

<p>Opciones</p>

<ol>
<li><a href="php/factura_formulario.php"> Recepcion </a></li>

<li><a href="php/factura_codificacion.php"> Codificacion </a></li>

<li><a href="php/factura_despacho.php"> Despacho </a></li>

<li><a href="php/facturas_busqueda.php"> Buscar </a></li>
</ol>

</center>

</form>

</body>

</html>


<?php

// LLAMANDO AL MODULO DE CONEXION
include("../php/modulo_conexion.php");

// ESTABLECIENDO LA CONEXION
$cnn = mysql_connect($servidor,$usuario,$password);
if(!isset($cnn)){
die ("Error de conexión: ").mysql_error();
}

// SELECCIONANDO LA BASE DE DATOS
mysql_select_db($database,$cnn);

//$sql = "SELECT * FROM facturas ORDER BY fact_fech_ingr";

$sql_final = "SELECT facturas.fact_nume, facturas.proveedores_prove_rut, facturas.cuentas_cuen_codi,
facturas.fact_fech_ingr, facturas.fact_desc, facturas.fact_monto, facturas.fact_fech_envi,
roles.rol_desc
FROM facturas, asignacion, roles
WHERE facturas.fact_nume = asignacion.facturas_fact_nume
AND asignacion.roles_rol_codi = roles.rol_codi ";

$resultado = mysql_query($sql_final,$cnn);
echo mysql_error();

// codigo responsable
$codigo_resp = 0;
$responsable = 0;

$contador = 0;

$facturas = array();

// DEFINIENDO UNA TABLA PARA MOSTRAR LOS DATOS LAS FACTURAS
echo "<center>";
echo "<table border='2' bgcolor='#e3e4fa'>\n";
echo "<tr> \n";
echo "<td><b>Número de Factura</b></td> \n";
echo "<td><b>Rut del Proveedor</b></td> \n";
echo "<td><b>Código de Cuenta Contable</b></td> \n";
echo "<td><b>Fecha de Ingreso</b></td> \n";
echo "<td><b>Descripción</b></td> \n";
echo "<td><b>Monto</b></td> \n";
echo "<td><b>Fecha de Envío</td></b> \n";
echo "<td><b>Responsable de Gasto</td></b> \n";
echo "<td><b>Responsable de entrega</td></b> \n";
echo "</tr> \n";
echo "</center>";

while($row = mysql_fetch_array($resultado)){

// CAMBIANDO EL FORMATO DE LA FECHA DE AAAA-MM-DD a DD-MM-AAAA
$f1 = substr($row["fact_fech_ingr"],0,4);
$f2 = substr($row["fact_fech_ingr"],5,2);
$f3 = substr($row["fact_fech_ingr"],8,2);
$fecha_ingreso = $f3."-".$f2."-".$f1;

// COMPROBANDO SI EL CODIGO DE CUENTA Y LA FECHA DE ENVIO
// TIENEN VALOR NULL. DE SER ASI, MUESTRA UN MENSAJE
// DE QUE NO ESTÁ INGRESADO EL DATO.
if($row['cuentas_cuen_codi'] == NULL){
$row['cuentas_cuen_codi'] = "<b> No Ingresada </b>";
}

if($row['fact_fech_envi'] == NULL or $row['fact_fech_envi'] == "0000-00-00"){
$row['fact_fech_envi'] = "<b> No Ingresada <b>";
}

?>

<html>
<head>

<title> Consulta de Facturas - UNIVERSIA CHILE </title>

<!-- ENLAZANDO HOJAS DE ESTILO -->
<link href="css/estilo_tablas.css" rel="stylesheet" rev="stylesheet" type="text/css">

<!-- LLAMADA A LAS FUNCIONES JAVASCRIPT -->
<script src="../js/validar_codificacion.js" type="text/javascript"></script>

</head>

<body>

<form id="f" method="post">

<center>

<!-- CONTINUACION TABLA -->
<tr>
<td class="estilo1" > <?php echo $row['fact_nume']; ?> </td>
<td class="estilo1" > <?php echo $row['proveedores_prove_rut']; ?> </td>
<td class="estilo1" > <?php echo $row['cuentas_cuen_codi']; ?> </td>
<td class="estilo1" > <?php echo $fecha_ingreso ?> </td>
<td class="estilo1" > <?php echo $row['fact_desc']; ?> </td>
<td class="estilo1" > <?php echo "$ ".$row['fact_monto']; ?> </td>
<td class="estilo1" > <?php echo $row['fact_fech_envi']; ?> </td>
<td class="estilo1" > <?php echo $row['rol_desc']; ?> </td>
<td class="estilo1" > <?php echo $row['rol_desc']; ?> </td>
</tr>

<?php
//} // FIN WHILE RESPONSABLES
} // FIN WHILE FACTURAS
mysql_close($cnn);
?>

</table>

<br>

</center>

</form>

</body>

</html>

en la tabla asignacion estos son los campos:
asig_codi - facturas_fact_nume - roles_rol_codi - rol_entr - rol_gast

en la tabla me asigna el numero de factura, y el codigo del rol. si es un responsable de entrega ingresa un 1 si es un responsable de gasto es un 1
pero el problema es que me muestra los responsable de entrega y de gasto en la misma columna. lo que deseo es mostrar en columnas separadas el responsable de entrega y el de gasto.

gracias por los consejos. espero tu 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:55.