Comunidad de diseño web y desarrollo en internet online

rpoblemas con mi variable cliente

Citar            
MensajeEscrito el 16 Mar 2007 08:53 pm
Hola soy nuevo en php y tengo un problema, estoy haciendo un sitio que se conecta a una base de datos mysql, hice un formulario al que le doy un rango de fechas, "fecha inicial-fecha final"
y me manda a un reporte de anticipos de un cliente determinado (determinado por el numero de ese cliente) pero en el formulario le doy las fecha y al mandarme al archivo anticipos.php no me respeta el cliente, mi formulario es este

num_cliente = $_GET['cliente'];
// conexión con MySQL
$link = mysql_connect ("192.0.0.3", "root", "root");

// Selecciona la base de datos
$db = mysql_select_db ("arancel", $link);

// Select que Realiza la consulta para poner nombre del cliente
$strqry = "SELECT * FROM clientes where numero =\"".$num_cliente."\"";

$qry = mysql_query($strqry);
$row = mysql_fetch_assoc($qry);

?>
<p align="center"><font color="#006699" size="2" face="Verdana, Arial, Helvetica,
sans-serif"><?php print $row ["nombre"]; ?></font></p>

<div align="center">
<form method = "post" action ="anticipos.php">
<font color="#006699" size="2" face="Verdana, Arial, Helvetica,
sans-serif">FECHA INICIAL :<input type="text" name="fecha_inicial"><br>
<font color="#006699" size="2" face="Verdana, Arial, Helvetica,
sans-serif">FECHA FINAL :<input type="text" name="fecha_final"><br>
<input type="Submit" name="enviar" value="Aceptar Informacion">

<?php

?>
</form>
</font>
</body>
</html>

y mi archivo anticipos.php es este3

$fecha_inicial = $_POST['fecha_inicial'];
$fecha_final = $_POST['fecha_final'];
$strqry = "SELECT * FROM anticipo where cliente =\"".$num_cliente."\"";
$strqry.= "and fecha BETWEEN '$fecha_inicial' and '$fecha_final'";

echo $strqry;

$qry = mysql_query($strqry);
while ($row = mysql_fetch_assoc($qry)){
?>
<table align="center" width="80%" border="0" color="#006600" bgcolor="#ffffff">
<tr>
<td width="3%" align="center" bgcolor="FF79AE"><font color="#ffffff" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php print $row ["numero"]; ?></font></td>
<td width="4%" align="center" bgcolor="FF79AE"><font color="#ffffff" size="1" face="Verdana, Arial, Helvetica, sans-serif"><?php print $row ["fecha"]; ?></font></td>
<td width="6%" align="center" bgcolor="FF79AE"><font color="#ffffff" size="1" face="Verdana, Arial, Helvetica,sans-serif"><?php print $row ["documento"]; ?></font></td>
<td width="5%" align="center" bgcolor="FF79AE"><font color="#ffffff" size="1" face="Verdana, Arial, </tr>
<?php

le di un echo a $strqry; para ver que me regresaba y me regresa esto

SELECT * FROM anticipo where cliente =""and fecha BETWEEN '2006-01-01' and '2006-12-31'

osea que si me toma la fecha pero no el cliente, espero me puedan ayudar, gracias.

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 17 Mar 2007 01:10 am
Hola,

lo que te ocurre es normal porque no le estas pasando $num_cliente al archivo anticipos.php. Soluciones hay varias. Una de ellas puede ser añadirle al primer formulario un campo hidden que envíe $num_cliente al segundo archivo:

Código :

<input type="hidden" name="num_cliente" value="<?php print $num_cliente; ?>" />


y en anticipos.php recuperas este valor antes de realizar el SELECT

Código :

$num_cliente = $_POST['num_cliente'];


Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

opera
Citar            
MensajeEscrito el 17 Mar 2007 03:06 am
Además cambia:

Código :

num_cliente = $_GET['cliente'];

por:

Código :

$num_cliente = $_GET['cliente'];


Y recuerda que para comparar una cadena en MySQL, esta tiene que ir entre apóstrofos o apóstrofes, no entre comillas, si es que el campo cliente es de tipo texto, si es numérico va como tal, ejemplo:

Código :

$strqry = "SELECT * FROM anticipo where cliente ='$num_cliente'";

Si cliente es cadena y:

Código :

$strqry = "SELECT * FROM anticipo where cliente =$num_cliente";

si es numérico.

Por Darel

725 de clabLevel

5 tutoriales

 

I'm a human

msie
Citar            
MensajeEscrito el 17 Mar 2007 06:07 pm
ok muchas gracias y perdon pero la verdad es que estoy aprendiendo sobre la marcha

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 26 Mar 2007 08:54 pm
Ok otra duda al navegar por mi sitio en la barra de navegacion me aparece

http://localhost/prealers.php?cliente=00002

lo cual no esta bien por que desde ahi se puede cambiar el numero de cliente y ver su informacion, como puedo evitar esto.

Gracia.

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.