Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta de Base de datos MySql

Estas en el tema de Consulta de Base de datos MySql en el foro de Mysql en Foros del Web. Hola a todos, como supongo que ya sabeis por mis preguntas soy novata en este entorno y en estos momentos tengo un "problemilla" que no ...
  #1 (permalink)  
Antiguo 26/05/2009, 02:36
 
Fecha de Ingreso: julio-2008
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 0
Consulta de Base de datos MySql

Hola a todos, como supongo que ya sabeis por mis preguntas soy novata en este entorno y en estos momentos tengo un "problemilla" que no puedo solucionar, el siguiente codigo lee de una fichero de pedidos de cabeceras y funciona perfectamente, pero cuando elijo uno de ellos para que me presente el la siguiente pagina las lineas correspondinetes a ese pedido siempre me presenta el primer registro de la base de datos, tengo claro que es porque la variable de session que cargo no es la correcta pero es que no sé como marca las lineas dentro de la consulta para que despues se pueda elegir la que se desea ... os agradezco de antemano la ayuda que me podais prestar.

El codigo es el siguiente:

<?php require_once('Connections/clientes.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {...
...
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$maxRows_Pedidos = 20;
$pageNum_Pedidos = 0;
if (isset($_GET['pageNum_Pedidos'])) {
$pageNum_Pedidos = $_GET['pageNum_Pedidos'];
}
$startRow_Pedidos = $pageNum_Pedidos * $maxRows_Pedidos;

$varuser_Pedidos = "-1";
if (isset($_SESSION['MM_Username'])) {
$varuser_Pedidos = $_SESSION['MM_Username'];
}
mysql_select_db($database_clientes, $clientes);
$query_Pedidos = sprintf("SELECT tpedidos.codcliped, tpedidos.numped, tpedidos.fecha, tpedidos.total, tpedidos.entregado FROM tpedidos WHERE tpedidos.codcliped=%s ORDER BY tpedidos.numped", GetSQLValueString($varuser_Pedidos, "int"));
$query_limit_Pedidos = sprintf("%s LIMIT %d, %d", $query_Pedidos, $startRow_Pedidos, $maxRows_Pedidos);
$Pedidos = mysql_query($query_limit_Pedidos, $clientes) or die(mysql_error());
$row_Pedidos = mysql_fetch_assoc($Pedidos);

if (isset($_GET['totalRows_Pedidos'])) {
$totalRows_Pedidos = $_GET['totalRows_Pedidos'];
} else {
$all_Pedidos = mysql_query($query_Pedidos);
$totalRows_Pedidos = mysql_num_rows($all_Pedidos);
}
$totalPages_Pedidos = ceil($totalRows_Pedidos/$maxRows_Pedidos)-1;
//** esta es la variable que paso a la siguiente pantalla para realizar la consulta de las lineas de pedido, me consta que no es correcta porque tendría que pasar el numero de pedido de la linea que estoy eligiendo dentro de la consulta de pedidos x ciente, pero como ya os he comentado no sé ... supongo que debe marcar las lineas con un numero dentro de la consulta pero no sé verlo ...

$_SESSION['numped'] = $row_Pedidos['numped'];

?>
<!DOCTYPE html PUBLIC ...
...
-->
</style>

<script type="text/javascript">
<!--
function MM_showHideLayers() { //v9.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3)
with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
</head>

<body>
...
...
<div id="cuerpo">
<table width="520" align="left" border="1">
<tr>
<td width="109" class="texto"><div align="center">N. de Pedido</div></td>
<td width="107" class="texto"><div align="center">Fecha Pedido</div></td>
<td width="110" class="texto"><div align="right">Total</div></td>
<td width="110" class="texto"><div align="center">Fecha Servicio</div></td>
<td width="22" class="texto"></td>
<td width="22" class="texto"></td>
</tr>
<?php do { ?>
<tr class="style5">
<td><div align="center"><?php echo $row_Pedidos['numped']; ?></div></td>
<?php
//** Formateamos fecha de pedido **
$fecha_mysql=$row_Pedidos['fecha'];
$trozos=split("-", $fecha_mysql);
$temp=split(" ",$trozos[2]);
$dia=$temp[0];
$fecped=mktime(0,0,0,$trozos[1], $dia, $trozos[0]);
//** Fin del formateo
?>
<td><div align="center"><?php echo strftime("%d-%m-%Y", $fecped); ?></div></td>
<td><div align="right"><?php echo number_format($row_Pedidos['total'], 2, ",", "."); ?></div></td>
<?php
//** Formateamos fecha de pedido **
$fecha_mysql=$row_Pedidos['entregado'];
$trozos=split("-", $fecha_mysql);
$temp=split(" ",$trozos[2]);
$dia=$temp[0];
$fecser=mktime(0,0,0,$trozos[1], $dia, $trozos[0]);
//** Fin del formateo
?>
<td><div align="center"><?php echo strftime("%d-%m-%Y", $fecser); ?></div></td>
<td><div id="ojo" ><a href="consulta_detalle_pedidos.php"><img src="ojopeq.jpg" alt="" name="photo1" width="20" height="13" border="0" class="mano" id="photo1" onmouseover="MM_showHideLayers('visualizar','','sh ow')" onmouseout="MM_showHideLayers('visualizar','','hid e')" /></a></div></td>

<td><div id="pdf"><a href="Pedidos_clientes/<?php echo $row_Pedidos['numped']. '.pdf'?>"><img src="pdfpeq.jpg" alt="" name="photo2" width="20" height="13" border="0" class="mano" id="photo2" onmouseover="MM_showHideLayers('visualpdf','','sho w')" onmouseout="MM_showHideLayers('visualpdf','','hide ')" /></a></div></td>
</tr>
<?php } while ($row_Pedidos = mysql_fetch_assoc($Pedidos)); ?>
</table>
</div>
<div id="visualizar"> <img name="visualizar" src="img/visualizar.gif" width="150" height="18" border="0" id="visualizar2" alt="" /></div>

<div id="visualpdf"> <img name="visualpdf" src="img/visualpdf.gif" width="150" height="18" border="0" id="visualpdf2" alt="" /></div>
</div>
</div>
</body>
</html>
<?php
mysql_free_result($Pedidos);
?>

Si me podeis echar una mano os lo agradecería enormemente
  #2 (permalink)  
Antiguo 26/05/2009, 09:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta de Base de datos MySql

¿Y cuanto vale %d en el momento de crear la consulta?
¿Por qué necesitas usar LIMIT? Eso te restringe la cantidad de registros devueltos...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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:22.