Foros del Web » Programando para Internet » PHP »

problema al imprimir consulta php

Estas en el tema de problema al imprimir consulta php en el foro de PHP en Foros del Web. Hola Amigos, Tengo una pequeña duda, al imprimir una consulta pasando valores desde un formulario El formulario a la consulta usando el metodo post. consulta.php ...
  #1 (permalink)  
Antiguo 11/11/2004, 07:19
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación problema al imprimir consulta php

Hola Amigos,

Tengo una pequeña duda,

al imprimir una consulta pasando valores desde un formulario

El formulario a la consulta usando el metodo post.

consulta.php
-------------------------------------------------------------
<?
$busqueda =$_POST["buscar"];
$conectID = mssql_connect("localhost","SA","12345");
mssql_select_db("facturas", $conectID);
$mssql = "SELECT f.ordencompra, f.total,f.igv, c.nombre from
factura f , cliente c
where f.idcliente=c.idcliente and
f.idcliente='$busqueda'";

$resultid=mssql_query($mssql,$conectID);

if ($resultid && mssql_num_rows($resultid)>0)
{

?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="12%">Nombre Cliente</td>
<td></td>
</tr>
</table>
<p>&nbsp;</p>
<table width=500 align=center>
<tr bgcolor="#D9D9EC" align=center>
<td ><b>Pedido Nº</b></td>
<td><b>Orden Compra</b></td>
<td><b>Total</b></td>
<td><b>IGV</b></td>
</tr>
<?

$contador=1;
$num_fila = 0;
while ($damefila=mssql_fetch_object($resultid))
{
echo "<tr ";
if ($num_fila%2==0)
echo "bgcolor=#dddddd onmouseover=\"this.style.backgroundColor='#ffffff' \" onmouseout=\"this.style.backgroundColor='#dddddd'\ "";
else
echo "bgcolor=#ddddff onmouseover=\"this.style.backgroundColor='#ffffff' \" onmouseout=\"this.style.backgroundColor='#ddddff'\ "";


echo ">";
?>

<td><?echo $contador ?></td>
<td><?echo $damefila->ordencompra;?></td>
<td><?echo $damefila->total;?></td>
<td><?echo $damefila->igv;?></td>
</tr>
<?
$contador++;
$num_fila++;
}
?>
</table>
<?
echo "<br>";
echo "<center>";
echo "Usted tiene ","<b>", $contador-1,"</b>", "<p>","Pedidos ", "</p>";
echo "</center>";
}
else
{
echo "Usted no tiene Registros en el Sistema";
}


?>

---------------------------------------------------------------------

Pero como ustedes pueden apreciar en mi consulta

codigo consulta sql
--------------------------------------------------
SELECT f.ordencompra, f.total,f.igv, c.nombre from
factura f , cliente c
where f.idcliente=c.idcliente and
f.idcliente='$busqueda'";
--------------------------------------------------

tengo el campo nombre, mi problema es el siguiente, quisiera que el campo nombre utilizado en mi consulta no este incluido en el bucle, porque sino lo veria algo asi


nombre pedido orden compra total igv
juan 1 0001 100 10
juan 2 0002 200 20

el resultado me lo incluye en las filas (es logico) , pero lo que yo quisiera es que el campo nombre este fuera y se coloque encima de la tabla que contiene el bucle

es decir mi reporte quedaria de esta manera

nombre : Juan

pedido orden compra total igv
1 001 100 10


alguien me puede ayudar? gracias...

Albert

Última edición por albertt_t; 11/11/2004 a las 07:30 Razón: Agregado de icono
  #2 (permalink)  
Antiguo 11/11/2004, 08:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa una variable acomulador para poder ver su valor .. si cambia .. la imprimes pero si es igual .. no la imprimes ..

Código PHP:
$anterior=''// incias el acomulador sin nada ..

bucle (){

if (
$anterior!=$nombre){
echo 
$nombre;

$anterior=$nombre;

echo 
$resto_de_variables;

Un saludo,
  #3 (permalink)  
Antiguo 11/11/2004, 09:30
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 13 años, 1 mes
Puntos: 0
Gracias Cluster por tu respuesta, pero en el caso de quere aumentar más campos, es decir aparte de nombre, apellidos, dirección, telefonos.

Mi pregunta es puedo invocar dos consultas diferentes e imprimirlas en un solo reporte usando la primera consulta (para obtener los datos personales ) y la pongo como include, y la segunda iria debajo, pero ambas recibiendo el valor a buscar desde un formulario?
  #4 (permalink)  
Antiguo 11/11/2004, 10:35
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Si se puede, podrias hacerlo asi, sin include:

$sqlcliente="select * from clientes where idcliente='$busqueda'";
$rscliente=mysql_query($sql,$link);
while($filacliente=mysql_fetch_array($rscliente))
{
//escribe datos del cliente
....

$sqlpedido="select * from pedidos where idcliente='$busqueda'";
$rspedido=mysql_query($sqlpedido,$link);
while($filapedido=mysql_fetch_array($rspedido))
{
//escribe datos del pedido
.....

}
}
  #5 (permalink)  
Antiguo 11/11/2004, 12:44
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 13 años, 1 mes
Puntos: 0
Gracias Claudio!!
nuevamente he encontrado la solución a mi pregunta, y funciona a las mil maravillas!!

Hasta la Próxima!!

Albert A.
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 11:30.