Foros del Web » Programando para Internet » PHP »

saber el id del nuevo registro ??!!

Estas en el tema de saber el id del nuevo registro ??!! en el foro de PHP en Foros del Web. Hola.. Trabajo con Dreamweaver y MySQL. Tengo un form el cual esta vinculado a una tabla de mi Base de Datos MySQL. Hay un campo ...
  #1 (permalink)  
Antiguo 08/09/2008, 02:12
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 17 años, 1 mes
Puntos: 4
saber el id del nuevo registro ??!!

Hola..
Trabajo con Dreamweaver y MySQL.
Tengo un form el cual esta vinculado a una tabla de mi Base de Datos MySQL.
Hay un campo el cual corresponde a "num_pedido" y quiero que el numero de registro salga ya predeterminado el cual sea el numero del ID del registro que el usuario va a enviar.

el form es el siguiente:

<form method="post" name="form1" action="<?php echo $editFormAction; ?>">


<div align="center">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Num_pedido:</td>
<td><input type="text" name="num_pedido" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Codigo_articulo:</td>
<td><input name="codigo_articulo" type="text" value="N-501" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Talla:</td>
<td><label>
<select name="talla" id="talla">
<option value="Seleccionar">Seleccionar</option>
<option value="P">P</option>
<option value="M">M</option>
<option value="L">L</option>
<option value="XL">XL</option>
<option value="XXL">XXL</option>
</select>
</label></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Color:</td>
<td><label>
<select name="color" id="color">
<option value="Seleccionar">Seleccionar</option>
<option value="Blanco">Blanco</option>
<option value="Negro">Negro</option>
</select>
</label> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Cantidad:</td>
<td><label>
<select name="cantidad" id="cantidad">
<option value="Seleccionar">Seleccionar</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</label></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td><input name="submit" type="submit" value="Enviar"></td>
</tr>
</table>
<div id="Layer12"><strong>Todos los envios a portes pagados </strong></div>
<input type="hidden" name="MM_insert" value="form1">
</div>
</form>
  #2 (permalink)  
Antiguo 08/09/2008, 02:27
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: saber el id del nuebo registro ??!!

Podrías hacer un select max de los registros de la base de datos para saber cual es el número mayor y así asignarle uno más.
$num=mysql_fetch_array(mysql_query("SELECT max(num_pedido)+1 as nuevo FROM tabla..."));

Ahora el valor predeterminado en el formulario sería $num["nuevo"]. Y se podría cambiar. Eso si, si se cambia, comprueba siempre que el nuevo no exista
  #3 (permalink)  
Antiguo 08/09/2008, 02:51
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: saber el id del nuebo registro ??!!

nuevo FROM tabla....

Los puntos suspensivos, imagino que debo acabar de colocar yo el nombre de la tabla no ??? y tambien debo poner de que campo ?? Veras, la tabla es "camisetaform" y los campos son: "camisetaform_id/num_pedido/codigo_articulo/talla/color/cantidad"
entonces la variable que me has facilidato deberia terminar asi ???

$num=mysql_fetch_array(mysql_query("SELECT max(num_pedido)+1 as nuevo FROM camisetaform"));
  #4 (permalink)  
Antiguo 08/09/2008, 02:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: saber el id del nuebo registro ??!!

Lo he provado asi, pero no hece nada:

<input name="num_pedido" type="text" value="<?php $num=mysql_fetch_array(mysql_query("SELECT max(num_pedido)+1 as nuevo FROM camisetaform")); ?>" size="32">
  #5 (permalink)  
Antiguo 08/09/2008, 03:29
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
Respuesta: saber el id del nuebo registro ??!!

mysql_insert_id(); te devuelve el ultimo id insertado
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #6 (permalink)  
Antiguo 08/09/2008, 03:30
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
Respuesta: saber el id del nuebo registro ??!!

Código PHP:

  <?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Oops! no me conecte: ' mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Ultimo ID insertado %d\n"mysql_insert_id());
?>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #7 (permalink)  
Antiguo 08/09/2008, 03:56
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: saber el id del nuebo registro ??!!

pero yo no quiero el ultimo ID insertado lo que quiero es el ID que se va a generar al enviar el formilario para tener como numero de pedido el ID registrado con ese pedido
  #8 (permalink)  
Antiguo 08/09/2008, 05:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 16 años, 3 meses
Puntos: 7
Respuesta: saber el id del nuebo registro ??!!

pues después de insertarlo utiliza el mysql_insert_id(); para insertarlo pon el id como auto_increment y al insertar no lo menciones. Se auto-generará.
  #9 (permalink)  
Antiguo 08/09/2008, 09:57
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: saber el id del nuebo registro ??!!

Ya esta solucionado.... gracias
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 14:13.