Loading




Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
ayuda para reiniciar el valor de una variable a 1
 
21-11-2011, 02:22 PM
Mensaje: #1
ayuda para reiniciar el valor de una variable a 1
buenas todos.

Este problema es sobre la venta de unos productos, tengo los siguientes campos en mi tabla id que es autoincrement, nom_producto, fecha_venta y numventa. Le asigno a la variable $fecha la fecha de hoy. Realizo una consulta a mi tabla producto sobre la fecha_venta y lo ordeno descedientemente y el resultado de esa consulta lo comparo con la variable fecha. Si la fecha de hoy es la misma del resultado de mi consulta le asigno a la variable i=1 y si no es igual al resultado de la consulta se realiza la venta y la variable i se incrementa uno. Entonces lo que quiero hacer es que cuando se haga la primera venta del dia siguiente la variable $i sea igual a 1 y no se siga incrementando, como lo hace en este script.
Código PHP:
<?php
$fecha
=date("Y-m-d");
$host="localhost";
$usuario="root";
$password="matrix";

$conectar=mysql_connect($host$usuario$password);
mysql_select_db("pruebas"$conectar);

$consulta "SELECT fecha_venta FROM producto order by fecha_venta desc";
$query mysql_query($consulta$conectar) or die(mysql_error());
while(
$row=mysql_fetch_array($query)){

if(
$fecha == $row){
$i=1;

}else{
$consulta2"select numventa from producto order by numventa desc";
$query2 =mysql_query($consulta2$conectar) or die(mysql_error());
$resultado=mysql_result($query2,0);
$i=$resultado 1;

}
?>

cualquier ayuda es bienvenido.

saludos.
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
22-11-2011, 02:45 AM
Mensaje: #2
RE: ayuda para reiniciar el valor de una variable a 1
La función myql_fetch_array() devuelve precisamente un array y vos estás comparando contra una variable común. Es como comparar peras con manzanas. Una manera facil de debuguear el código es ir haciendo impresiones de las variables (p. ej:echo $a) donde creamos conveniente, para variables complejas como los arrays podes usar print_r()

No se si eso te ayuda, pero no llego a comprender exactamente el problema que tenés. ¿No se te ocurre como? o no te anda?
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
22-11-2011, 08:58 PM
Mensaje: #3
RE: ayuda para reiniciar el valor de una variable a 1
buenas atodos.
el script anterior ya lo modifique pero el numventa se sigue incrementando independienmente de la fecha que sea algo asi quiero hacer:

preguntar al sistema que fecha es al momento de vender el producto, entonces con esa fecha buscar en la base de datos si hay una igual, si la hay realizar una consulta ordenada de forma descendiente de numventa y agarro el numero de numventa y le sumo 1, de lo contrario si no hay fecha que coincida le pongo en numventa 1.

ejemplo cuando hago mi primera venta comparar la fecha de hoy que es 2011-11-22 con la fecha de ayer de la ultima venta que es 2011-11-21 si es igual sumarle 1 y no es igual ponerle a un numventa 1 no se como plasmar eso en php y mysql.

este es el scrip que modifique y no da los resultados esperados.

<html>
<head>
<title>prueba</title></head>
<body>
<?php
$fecha=date("Y-m-d");
$host="localhost";
$usuario="root";
$password="matrix";

$conectar=mysql_connect($host, $usuario, $password);
mysql_select_db("pruebas", $conectar);

$consulta = "SELECT fecha_venta FROM producto order by fecha_venta desc";
$query = mysql_query($consulta, $conectar) or die(mysql_error());
$resul=mysql_result($query, 0);

if($fecha == $resul){
$i=1;

}else{
$consulta2= "select numventa from producto order by numventa desc";
$query2 =mysql_query($consulta2, $conectar) or die(mysql_error());
$resultado=mysql_result($query2,0);
$i=$resultado + 1;
}
?>

<form id="form" name="form" method="post" action="save.php">
<table width="30%" border="0" align="center" class=2down">
<tr>
<td width="52%" scope="col" class="menumain">Producto: </td>
<td width="48%" scope="col"><input name="producto" type="text" class="boot" id="producto" value=>

</tr>
<tr>
<td width="52%" scope="col" class="menumain">FECHA: </td>
<td width="48%" scope="col"><input name="txtfecha" type="text" class="boot" id="fecha" value="<?php echo date("Y-m-d"); ?>">

</tr>
<tr>
<td width="52%" scope="col" class="menumain">NUMERO VENTA: </td>
<td width="48%" scope="col"><input name="numero" type="text" class="boot" id="numero" value="<?php echo $i; ?>">

</tr>


<p>&nbsp;</p></td>
</tr>
</table>
<center><input type="submit" value="Realizar venta"></center>
</form>
</body>
</html>
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
23-11-2011, 09:23 PM
Mensaje: #4
RE: ayuda para reiniciar el valor de una variable a 1
Tenes la condición al revéz? ---> if($fecha == $resul)

Sino revisa la base de datos y fijate como está guardando las fechas(tipo fecha, timestamp, string). Y te reitero lo mismo andá poniendo echo entre las ramas de los ifs para ir viendo por donde se ejecuta el programa.

Si decís que no da los resultados esperados aunque sea indica cuales da, así aprendemos los dos.
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
24-11-2011, 01:18 PM
Mensaje: #5
RE: ayuda para reiniciar el valor de una variable a 1
Hola, yo entendí lo que quiere hacer.. quiere tener un numeró de venta como identificador(no se porque razón).

La forma de hacerlo es añadiendo $i en numventa y tener en cuenta esto, no solo la fecha.

Leemos las ventas, nos fijamos si hoy existen ventas, si existen ventas nos fijamos el valor numventa del ultimo registro, si no al realizar la venta insertamos el numero de venta.

La manera de hacer esto es averiguando cual es el ultimo registro con select last_insert_id()

El problema es que si alguien hace una venta mientras nosotros cargamos datos podemos duplicar el numero de venta.

Para esto en lugar de numero de venta deberiamos utilizar la funcion count, o sea select count(id) from table where fecha='20111124'; con esto tenemos la catidad de ventas, luego si hacemos un select * from table where fecha='20111124'; tenemos toda la tabla, luego de utilizar mysql_row el numero de venta será ifual a la posicion del array+1.

Espero que se haya entendido.

Suerte!

- La seguridad es más importante que la usabilidad. En un mundo perfecto, nadie debería ser capaz de utilizar nada.
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
12-12-2011, 05:13 PM
Mensaje: #6
RE: ayuda para reiniciar el valor de una variable a 1
Que tal elrey, pudiste solucionar el problema? Te invitamos a dejar una respuesta o una conclusión de como se solucionó el problema, así después le puede servir a otro con un problema parecido.

Igualmente, el razonamiento que usaste es correcto pero tuviste algunos problemas con el lenguaje, yo creo que lo mejor al empezar con un lenguaje es ir probando bien de a poquito, si hay una función que usamos por primera vez hacemos un pequeño ejemplo y vemos que devuelve y lo mostramos por pantalla después vamos agregando mas cosas.

En fin, esperamos tu respuesta.
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
17-12-2011, 08:18 PM
Mensaje: #7
RE: ayuda para reiniciar el valor de una variable a 1
Buenos a todos.

Les pido mil disculpas por no responder antes, es que tuve que resolver unos problemas personales. Doy por solucionado este hilo, la solucion que hice fue simple solo le agregue la fecha a la consulta y queda de la suiente forma:

<?php
$fecha=date("Y-m-d");
$host="localhost";
$usuario="root";
$password="misterio";

$conectar=mysql_connect($host, $usuario, $password);
mysql_select_db("dados", $conectar);

$consulta = "SELECT Diayfecha FROM ventas order by Diayfecha desc";
$query = mysql_query($consulta, $conectar) or die(mysql_error());
$resul=mysql_result($query,0);

if($fecha == $resul){

$consulta2= "select numventa from ventas where Diayfecha='$fecha' order by numventa desc";
$query2 =mysql_query($consulta2, $conectar) or die(mysql_error());
$resultado=mysql_result($query2,0);
$i=$resultado + 1;

}else{
$i=1;
}
?>

anteriormente se recupera el ultimo registro insertado y se suma 1,esto se hacia porque no le habia especificado a la consulta cuando la fecha sea hoy. Les dejo el codigo por si a alguien le sirve.

Saludos.
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
Enviar respuesta 


Posibles temas similares...
Tema: Autor Respuestas: Vistas: Último mensaje
  Ayuda en php y mysql (solucionado) elrey123 7 5.400 21-11-2011 02:05 PM
Último mensaje: elrey123

Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)
Contáctanos | Portal de Noticias | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS