Foros del Web » Programando para Internet » PHP »

Imprimir Registros Mysql en una posición determinada

Estas en el tema de Imprimir Registros Mysql en una posición determinada en el foro de PHP en Foros del Web. Hola a todos los que lean este mensaje.... e buscado algo que solucione mi duda, pero tal vez no he buscado de forma correcta. tengo ...
  #1 (permalink)  
Antiguo 26/09/2015, 09:38
Avatar de adolfo_Aplicom  
Fecha de Ingreso: octubre-2013
Ubicación: cd. juarez, Chih.
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Imprimir Registros Mysql en una posición determinada

Hola a todos los que lean este mensaje....
e buscado algo que solucione mi duda, pero tal vez no he buscado de forma correcta.
tengo una tabla Mysql con los campos de la siguiente manera...
control
lote
corral
fecha
..... (los siguientes no me interesan en este caso..)
en la consulta que hago sin problema lo muestra así:
control,lote,fecha,.......(estos campos están en orden dentro de la tabla)
pero lo quiero mostrar de la siguiente manera y no lo logro...
fecha,lote,control,...... (estos campos siguen en el orden de la tabla).
espero ser claro en mi problemática utilizo PHP.

saludos
  #2 (permalink)  
Antiguo 26/09/2015, 09:53
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Imprimir Registros Mysql en una posición determinada

Creo que debes de ser más específico. Pon tu query que usas o si es posible parte de tu avance hasta como imprimes los valores de tu consulta.
saludos.
  #3 (permalink)  
Antiguo 26/09/2015, 11:51
Avatar de adolfo_Aplicom  
Fecha de Ingreso: octubre-2013
Ubicación: cd. juarez, Chih.
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Imprimir Registros Mysql en una posición determinada

Cita:
Iniciado por oggy_15_3 Ver Mensaje
Creo que debes de ser más específico. Pon tu query que usas o si es posible parte de tu avance hasta como imprimes los valores de tu consulta.
saludos.
dejo el código
<?php
// conecto a la base de datos
include ('conectar.php');
// aqui se abro la tabla que se necesito con los parametros determinados
$propietarioG = $_POST['propietario2'];
$tipoG = $_POST['tipo2'];
$fecha1G = $_POST['fecha1'];
$fecha2G = $_POST['fecha2'];
$select1 = "SELECT * ";
$select2 = "FROM lotes ";
$where = " WHERE ";
$and = 0;
$orden = " ORDER by propietario, tipo, fecha ASC, libras DESC ";
if ($propietarioG != '---Seleccionar'){$where .= " propietario='$propietarioG'"; $and=1;}
if ($tipoG != '---Seleccionar'){if ($and == 1){$where .= " AND ";} $where .= " tipo='$tipoG' "; $and=1;}
if ($fecha1G != ''){if ($and == 1){$where .= " AND ";} $where .= "fecha >='$fecha1G'"; $and=1;}
if ($fecha2G != ''){if ($and == 1){$where .= " AND ";} $where .= "fecha <='$fecha2G'";}
if (strlen($where)<7){
$consulta = $select1.$select2.$grupo.$orden ;
} else {
$consulta = $select1.$select2.$where.$grupo.$orden ;
}
// termine de selecconar la tabla
$query = mysql_query($consulta);
if (!$query){die("Fallo la consulta de la tabla: lotes " . mysql_error());};
$numero = mysql_num_rows($query); //AQUI SE CUANTOS REGISTROS SE TOMARON DE LA TABLA
$row2 = mysql_fetch_array($query);
$propietarioL = $row2[propietario];
$procedenciaL = $row2[procedencia];
$sexoL = $row2[tipo];
$row = mysql_fetch_array($query);
mysql_free_result($query);// reinicio el apuntador de la tabla
$query = mysql_query($consulta);// tomo los valores de la tabla nuevamente
if (!$query){die("Fallo la consulta de la tabla: lotes " . mysql_error());};
// dibujo la tabla con sus encabezados
echo "<table align=center border=2 bgcolor='#F0FF0F'>";
echo "<tr bgcolor='#eeeeee'><td colspan=13 align=center>Relacion de Lotes Ingresados</td><tr bgcolor='#ffffff'>";
echo "<tr bgcolor='#eeeeee'><td colspan=13 align=center>Propietario:$propietarioL ($sexoL) - $procedenciaL</td><tr bgcolor='#ffffff'>";
echo "<td align=center><font size=1></font></td>"; //0
echo "<td align=center>Lote </td>";//1
echo "<td align=center>Corral </td>";//2
echo "<td align=center>Fecha </td>";//3
echo "<td align=center>Cabezas </td>";//7
echo "<td align=center>Kilos </td>";//9
echo "<td align=center>Prom. kg. </td>";//9
echo "<td align=center>Libras </td>";//10
echo "<td align=center>Prom.lb. </td>";//11
echo "<td align=center>ST </td></tr>";//14
echo "<form name='modifica' method=post action='cedulaLotes.php'>";
// empiezo a llenar la tabla dibujada con la consulta
$cabezas = 0;
$kilos = 0;
while($salida = mysql_fetch_array($query))
{
for ($i=0;$i<30;$i++)
{
if($i==0){echo "<td><font size=3><center>","","</center></font></td>";
}else{if($i==3){echo "<td><font size=3><center>",$salida[fecha],"</center></font></td>";
}else{if($i==1){echo "<td><font size=3><center>",$salida[lote],"</td>";
}else{if($i==2){echo "<td><font size=3>",$salida[corral],"</font></td>";
}else{if($i==7){echo "<td><font size=3><center>",$salida[$i],"</center></font></td>";
$cabezas += $salida[$i];
}else{if($i==9){ //kilos
$formateado= sprintf("%01.0f",$salida[$i]);
echo "<td align=center><font size=3>",$formateado,"</font></td>";
$kilos += $salida[$i];
}else{if($i==10){ //promedio kilos
$formateado= sprintf("%01.1f",$salida[$i]);
echo "<td align=center><font size=3>",$formateado,"</font></td>";
}else{if($i==11){ //libras
$formateado= sprintf("%01.0f",$salida[$i]);
echo "<td align=center><font size=3>",$formateado,"</font></td>";
$libras += $salida[$i];
}else{if($i==12){ //promedio
$formateado= sprintf("%01.1f",$salida[$i]);
echo "<span><td align='center'><font size=3>",$formateado,
"</font></td></span>";
}else{if($i==14){echo "<td><font size=3>",$salida[$i],"</font></td><tr>";
}}}}}}}}}}
}
}
// LIBERA MEMORIA
mysql_close($conectar);
// dibujo la tabla donde pongo los totales de la consulta anterior
echo "<tr bgcolor='#eeeeee'><td colspan=13 align=center>Totales</td><tr bgcolor='#ffffff'>";
echo "<td><font size=3><center>","","</center></font></td>";
echo "<td align=center>$numero </td>";
echo "<td align=center> </td>";
echo "<td align=center> </td>";
echo "<td align=center>$cabezas </td>";
echo "<td align=center>$kilos </td>";
$kilosPR=$kilos/$cabezas;
$kilosPR_=sprintf("%01.1f",$kilosPR);
echo "<td align=center>$kilosPR_ </td>";
$librasSD=sprintf("%01.0f",$libras);
echo "<td align=center>$librasSD</td>";
$librasPR=$libras/$cabezas;
$librasPR_=sprintf("%01.1f",$librasPR);
echo "<td align=center>$librasPR_</td></tr>";
// termine...
?>
  #4 (permalink)  
Antiguo 26/09/2015, 12:13
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Imprimir Registros Mysql en una posición determinada

Estoy notando que no cierras muchas de las etiquetas que usas.
No veo los </tr></table>,etc.
Deberías solucionar primero ello ya que a veces los datos no se ubican correctamente en donde uno quiere.
Saludos.
  #5 (permalink)  
Antiguo 26/09/2015, 12:41
Avatar de adolfo_Aplicom  
Fecha de Ingreso: octubre-2013
Ubicación: cd. juarez, Chih.
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Imprimir Registros Mysql en una posición determinada

Gracias veo por ese rumbo y comento como me fue...

saludos
  #6 (permalink)  
Antiguo 26/09/2015, 13:19
Avatar de adolfo_Aplicom  
Fecha de Ingreso: octubre-2013
Ubicación: cd. juarez, Chih.
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Imprimir Registros Mysql en una posición determinada

con el código anterior obtengo el resultado de la consulta, solo que no en el orden de las columnas como lo necesito, me muestra las columnas como están en la estructura de la tabla, no logro cambiarla en la consulta el orden, a ver si me explico mejor.
resultado así como esta:

lote corral fecha cabezas kilos ...........

lo que necesito como resultado:

fecha lote corral cabezas kilos ......


y no logro saber como definir yo el orden de las columnas a mostrar.

saludos
  #7 (permalink)  
Antiguo 26/09/2015, 14:09
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Imprimir Registros Mysql en una posición determinada

Te adelanto que tu error esta en el bucle for que haces y las condicionales que usas dentro de ella, por cierto... porque usas un for dentro del while? si sólo con el while puedes imprimir el resultado de tu consulta.
Deberías reeordenar tu código usando los tag de php que te proporciona el foro.
Como no se ve tabulado es difícil hacer un seguimiento.
Si tu consulta devuelve devuelve 3 registros el for hará que estas den 30 vueltas por cada registro de tu while


Prueba esto..
Código PHP:
Ver original
  1. if($i==0){echo "<td><font size=3><center>","","</center></font></td>";
  2. }else{if($i==1){echo "<td><font size=3><center>",$salida[fecha],"</center></font></td>";
  3. }else{if($i==2){echo "<td><font size=3><center>",$salida[lote],"</td>";
  4. }else{if($i==3){echo "<td><font size=3>",$salida[corral],"</font></td>";
  5. }else....
Las condicionales if que usas están mal definidas, debes enumerarlas según el orden como quieres que se muestre en pantalla.

Última edición por oggy_15_3; 26/09/2015 a las 14:19
  #8 (permalink)  
Antiguo 26/09/2015, 14:20
Avatar de adolfo_Aplicom  
Fecha de Ingreso: octubre-2013
Ubicación: cd. juarez, Chih.
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Imprimir Registros Mysql en una posición determinada

Excelente amigo....eso es justo lo que necesitaba y lo el FOR, lo voy a reescribir, mil gracias por tu valioso tiempo....

Etiquetas: fecha, mysql, registros, 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 06:00.