Foros del Web » Programando para Internet » PHP »

Incrementar en uno antes de insertar

Estas en el tema de Incrementar en uno antes de insertar en el foro de PHP en Foros del Web. Tengo un formulario que me pasa un campo de texto. Código PHP: $texto = $_POST [ "texto" ];  Y antes de insertarlo en la base ...
  #1 (permalink)  
Antiguo 25/05/2008, 10:09
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años
Puntos: 0
Incrementar en uno antes de insertar

Tengo un formulario que me pasa un campo de texto.
Código PHP:
$texto=$_POST["texto"]; 
Y antes de insertarlo en la base de datos, quiero conseguir el número más alto (campo "Num") de la tabla y sumarle uno.
En caso de que estuviera vacia pues asigno:
Código PHP:
$num=1

Al principio había puesto esto, pero no consigo que me tire:
Código PHP:
$sql mysql_query("SELECT * FROM Tabla order by Num desc Limit 1");
if(!empty(
$sql))
{
$num=$sql("Num");
$num++;
}else{
$num=1;

Se que este código está fatal xDDD He probado mil maneras y ya no se ni como lo tenía escrito al principio...
Pero me gustaría que me escribierais un código similar a este, sencillo, para sacar el número más alto y sumarle uno, o asignar a $num el valor 1, en caso de que la tabla no tenga registros.

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 25/05/2008, 10:51
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Incrementar en uno antes de insertar

Hi !

Intenta asi:
Código PHP:
$sql mysql_query("SELECT COUNT(IdTabla) AS k FROM Tabla"$conexion);
$reg mysql_fetch_array($sql);
$num $reg["k"];

if (
$num == 1) {
  
$num++;
}else{
  
$num 1;

Espero te sea util!

-ByE-
  #3 (permalink)  
Antiguo 25/05/2008, 14:24
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Respuesta: Incrementar en uno antes de insertar

la consulta exacta de SQL es:

SELECT max(num) FROM Tabla order;

y dependiendo de si envia algo o no sabes si es el primero o el numero del valor max.

Para mi gusto el campo numero deberia ser autoincrementado, asi el mismo se encargaria de colocar el numero siguiente al ultimo insertado.
__________________
Hernando Saenz Sanchez
  #4 (permalink)  
Antiguo 25/05/2008, 15:12
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 15 años, 11 meses
Puntos: 8
Respuesta: Incrementar en uno antes de insertar

$sql = mysql_query("SELECT * FROM Tabla order by Num desc Limit 1");
if(!empty($sql))
{
$num=$sql("Num");
++$num;
}else{
$num=1;
}
  #5 (permalink)  
Antiguo 26/05/2008, 00:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años
Puntos: 0
Respuesta: Incrementar en uno antes de insertar

Gracias a proguri y duskrow, al final he formateado la BD para que me autoincremente como ha sugerido hernandos (muchas gracias), ya que de cualquier manera me seguía duplicando la clave (Siempre era 1) XD

Un saludo y muchas gracias por ayudarme.

Soy nuevo en PHP; ASP controlo mucho más y PHP tiene unas cosas muy raras para el manejo de MySql

;)
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 10:16.