Foros del Web » Programando para Internet » PHP »

Problemas con un contador en PHP....

Estas en el tema de Problemas con un contador en PHP.... en el foro de PHP en Foros del Web. Que tal!!! Pues es mi pimer post! Tengo rato usando PHP pero hoy estoy en un problema. Estoy tratando de crear un registro por medio ...
  #1 (permalink)  
Antiguo 18/11/2009, 14:46
m3p
 
Fecha de Ingreso: noviembre-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Problemas con un contador en PHP....

Que tal!!!
Pues es mi pimer post!
Tengo rato usando PHP pero hoy estoy en un problema.

Estoy tratando de crear un registro por medio de una pagina php y que dependiendo de un campo, un id aumente de uno en uno.....

El script es el siguiente
Código PHP:
<?php
if(isset($_POST[enviar])) {
include(
"conexion.php"); 

   
$link2 mysql_connect('localhost''root''xxx');  
   
mysql_select_db('erp'$link2);
   
$rubro=$_POST["rubro"]; 
   
$agrup=$_POST["agrup"];  
   
$queagrup "SELECT MAX(`id`) FROM agrup WHERE `rubro`='$rubro'";
   
$resagrup mysql_query($queagrup) or die(mysql_error());
   
$agrupid mysql_num_rows($resagrup); 
   
$agrupid++;
$sql"INSERT INTO agrup (id, agrup , rubro) VALUES ($agrupid,'$agrup','$rubro');";  

mysql_free_result($resagrup);
if(!
mysql_query($sql))  
echo 
"No se pudieron registrar los datos.";
else
echo 
"<center>El registro se ha realizado satisfactoriamente<br><br> <b>Datos:</b>".$agrup."<br>".$rubro."<br>".$cuentaa.".<br>".$agrupid."";
mysql_close($link2);
}
?>
El caso es que tengo el id 1, posterior mente guarda el registro con el id 2...Hasta aqui todo va bien!, pero despues de el 2 ya no continua sumando, es decir el siguente registro lo guarda con el id 2 y asi todos con el id 2.

Estoy un poco desesperado y ya he agotado los recursos....desde intentar con el select es decir:
Código:
 "SELECT MAX(`id`)+1 FROM agrup WHERE `rubro`='$rubro'";
o con

Código:
"INSERT INTO agrup (id, agrup , rubro) VALUES ($agrupid+1,'$agrup','$rubro');";
Y no funciona! :S

Una disculpa si estoy omitiendo algun detalle, pero ps ya lo revise muchas veces y no funciona!:S

Muchas gracias por sus atenciones!
  #2 (permalink)  
Antiguo 18/11/2009, 15:05
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 9 meses
Puntos: 7
Respuesta: Problemas con un contador en PHP....

revisa http://dev.mysql.com/doc/refman/5.0/...increment.html puede ser que te sirva, lo siento por no revisar tu codigo pero no tengo mucho tiempo :)...
  #3 (permalink)  
Antiguo 18/11/2009, 18:40
m3p
 
Fecha de Ingreso: noviembre-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: Problemas con un contador en PHP....

Muchas gracias....pero esto me serviria si las opciones fueran fijas....cosa que en este caso no es .

Algun otro consejo!?
  #4 (permalink)  
Antiguo 18/11/2009, 19:09
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Problemas con un contador en PHP....

Mira lo que yo veo es esto:

Código PHP:
   $agrupid mysql_num_rows($resagrup); 
   
$agrupid++; 
mysql_num_rows() te devuelve la cantidad de filas afectada en la consulta, que en este caso, es 1.
Despues le sumas 1, entonces el total seria 2.
Pero mysql_num_rows siempre te va a devolver 1 si la consulta afecto una sola fila, entonces siempre estarias haciendo 1+1=2
Me parece que lo tendiras que pensar de otra manera, por ejemplo, poniendo el ID auto-increment en la base de datos
  #5 (permalink)  
Antiguo 19/11/2009, 14:05
m3p
 
Fecha de Ingreso: noviembre-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: Problemas con un contador en PHP....

Efectivamente ese es el error.....el problema es que no puedo usar el autoincrement, puesto que el incremento es en base a un campo...es decir

id agrup rubro
1 Activo circulante Activo
2 Activo fijo Activo
1 Pasivo a corto plazo Pasivo
1 Capital Capital
3 Activo a largo plazo Activo

Tampoco es posible usar el auto increment como viene en el link de arriba por que los rubros pueden cambiar :(

Entonces necesito que alguien mediga como poner en la variable $agrupid el valor obtenido del resultado del query del $resagrup.

De verdad que me han ayudado barbaro!
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 13:05.