Foros del Web » Programando para Internet » PHP »

codigo de autoincremento

Estas en el tema de codigo de autoincremento en el foro de PHP en Foros del Web. Hola quiero generar un codigo en una tabla de BD automaticamente. me explico el cliente una vez que llena el form y haga el envio ...
  #1 (permalink)  
Antiguo 27/06/2006, 18:20
 
Fecha de Ingreso: noviembre-2004
Mensajes: 495
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta codigo de autoincremento

Hola quiero generar un codigo en una tabla de BD automaticamente. me explico el cliente una vez que llena el form y haga el envio a la BD se generara en un campo un codigo numerico.

1.- Ala vez este codigo se mostrara en una pagina automaticamente q arrastrara los datos enviados para su posterior impresion.

2.-asi el cliente conocera el codigo para luego con ese mismo codigo hacer una verificacion a la base de datos

ojala me hayan entendido
P.D como aun no domino mucho php uso dreamweaver y sqlyog enterprise
  #2 (permalink)  
Antiguo 27/06/2006, 18:34
Avatar de emilio21  
Fecha de Ingreso: enero-2005
Ubicación: Venezuela
Mensajes: 320
Antigüedad: 12 años, 11 meses
Puntos: 1
.

esta podria ser una solucion.

creas un random
Código PHP:
$cod rand(1000,100000); 
luego verificas en tu base de datos si este existe este codigo

Código PHP:
//conexion con tu base de datos
$sql "SELECT * FROM tabla WHERE cod=$cod";
$result mysql_query($sql);
//verificas con sentencias codicionales
//lo guardas en la base de datos
//y luego lo muestras
echo "Su codigo es:<b>$cod</b>"
espero te sirva!

saludos!
__________________
¡Estamos para Enseñar y Aprender!
  #3 (permalink)  
Antiguo 27/06/2006, 19:00
 
Fecha de Ingreso: noviembre-2004
Mensajes: 495
Antigüedad: 13 años, 1 mes
Puntos: 0
tengo uan libreria creada en dream
connections, y en ella una pagina php "connections1"
es alli donde coloco el random
  #4 (permalink)  
Antiguo 27/06/2006, 19:46
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 11 años, 6 meses
Puntos: 1
ok. lo que te quizo explicar es que en el script donde guardas la información del formulario crees el codigo con random.

luego con la sentencia de mysql_query($sql,$conexion);
verifiques si el código existe, sino existe lo guardas y si existe lo intentas de nuevo por lo que te aconsejo colocarlo en un ciclo
algo como


do{
$cod = rand(1000,100000);
$cons=mysql_query("select codigo from clientes where codigo='$cod'",$conn)
$row=mysql_fetch_row($cons);
if($row[0]=='')
mysql_query("insert into clientes values('$cod')",$conn);
while($row!='');

el código anterior debes de adaptarlo con tu base de datos y campos de tu tabla, asimile que tu tabla se llama clientes y que tiene un solo campo llamao código, pero lo tienes que adecuar a tu tabla y campos reales.
  #5 (permalink)  
Antiguo 27/06/2006, 20:02
 
Fecha de Ingreso: noviembre-2004
Mensajes: 495
Antigüedad: 13 años, 1 mes
Puntos: 0
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_connections1 = "localhost";
$database_connections1 = "xxxx";
$username_connections1 = "root";
$password_connections1 = "";
$connections1 = mysql_pconnect($hostname_connections1, $username_connections1, $password_connections1) or trigger_error(mysql_error(),E_USER_ERROR);
?>

como uso dreamweaver esta es la pagina q se genera al hacer la coneccion ah esta pagina te refieres?

ya q no eh creado una pagina de envio

el dream programo todo en mismo form
  #6 (permalink)  
Antiguo 27/06/2006, 20:22
 
Fecha de Ingreso: noviembre-2004
Mensajes: 495
Antigüedad: 13 años, 1 mes
Puntos: 0
este es el codigo (q se genero en dream) en el mismo form donde se llenan los datos:
<?php require_once('Connections/connections1.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO operacion (monto, banco, noperacion, rem_nombre, rem_apellido, rem_telefono, rem_mail, rem_mensaje, ben_nombre, ben_apellido, ben_telefono, ben_mail) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['monto'], "int"),
GetSQLValueString($_POST['banco'], "text"),
GetSQLValueString($_POST['operacion'], "text"),
GetSQLValueString($_POST['nombre_re'], "text"),
GetSQLValueString($_POST['apellidos_re'], "text"),
GetSQLValueString($_POST['telefono_re'], "text"),
GetSQLValueString($_POST['mail_re'], "text"),
GetSQLValueString($_POST['mensaje_re'], "text"),
GetSQLValueString($_POST['nombre_be'], "text"),
GetSQLValueString($_POST['apellido_be'], "text"),
GetSQLValueString($_POST['telefono_be'], "text"),
GetSQLValueString($_POST['mail_be'], "text"));

mysql_select_db($database_connections1, $connections1);
$Result1 = mysql_query($insertSQL, $connections1) or die(mysql_error());

$insertGoTo = "vistagiro.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
  #7 (permalink)  
Antiguo 27/06/2006, 20:24
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 11 años, 6 meses
Puntos: 1
ok, entonces escribe todo el escript para colocar el código en el script
  #8 (permalink)  
Antiguo 27/06/2006, 20:29
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 11 años, 6 meses
Puntos: 1
y cual es el campo del código de tu tabla operación o apenas lo vas a agregar?
  #9 (permalink)  
Antiguo 27/06/2006, 20:32
 
Fecha de Ingreso: noviembre-2004
Mensajes: 495
Antigüedad: 13 años, 1 mes
Puntos: 0
ya lo mande

tambien quiero hacer una pregunta...
¿al hacer clic en el boton pra mandar el formulario a labase de datos (boton continuar) llama a una siguiente pagina "vistagiro.php" q tiene q mostrar o arrastrar los datos puestos en el primer form (giro.php)para la impresion de la pagina. es alli donde tiene q mostrarse automaticamente el codigo generado en la base de datos para su impresion. tengo un codigo pero no funciona alguien puede decir comop podria hacerlo.
  #10 (permalink)  
Antiguo 27/06/2006, 20:43
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 11 años, 6 meses
Puntos: 1
sino lo tienes en la tabla operacion agrega al final un campo con el nombre codigo tipo int. para partir de ahí

coloca est código en la parte que corresponda, digamos que ya va actualizdo
va despues del
f ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
sobre escribe al otro.

Código PHP:
mysql_select_db($database_connections1$connections1);
do{
$cod rand(1000,100000); 
$cons=mysql_query("select codigo from operacion where codigo='$cod'",$connections1)
$row=mysql_fetch_row($cons);
if(
$row[0]=="")
{
$cod=intval($cod);
$insertSQL sprintf("INSERT INTO operacion (monto, banco, noperacion, rem_nombre, rem_apellido, rem_telefono, rem_mail, rem_mensaje, ben_nombre, ben_apellido, ben_telefono, ben_mail,codigo) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['monto'], "int"),
GetSQLValueString($_POST['banco'], "text"),
GetSQLValueString($_POST['operacion'], "text"),
GetSQLValueString($_POST['nombre_re'], "text"),
GetSQLValueString($_POST['apellidos_re'], "text"),
GetSQLValueString($_POST['telefono_re'], "text"),
GetSQLValueString($_POST['mail_re'], "text"),
GetSQLValueString($_POST['mensaje_re'], "text"),
GetSQLValueString($_POST['nombre_be'], "text"),
GetSQLValueString($_POST['apellido_be'], "text"),
GetSQLValueString($_POST['telefono_be'], "text"),
GetSQLValueString($_POST['mail_be'], "text"),'$cod');

$Result1 mysql_query($insertSQL$connections1) or die(mysql_error());

}
}
while(
$row!=''); 

prueba a ver si funciona, espero no haberme equivocado.

Última edición por jam1138; 01/07/2006 a las 00:03
  #11 (permalink)  
Antiguo 27/06/2006, 20:45
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 11 años, 6 meses
Puntos: 1
tienes que colocar siempre el script sino no sabemos como resolverlo, no podemos ver el script en tu equipo. jejeje
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 12:10.