• Lunes 23 de Diciembre de 2024, 05:04

Autor Tema:  Otro Problema Mas  (Leído 1861 veces)

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Otro Problema Mas
« en: Jueves 23 de Noviembre de 2006, 22:24 »
0
que tal amigo del foro, bueno les comento, tengo una base de datos a la cual me conecto dese php, tonces todo funciona bien, el problema es que trato de rescatar el ultimo valor de una tabla especifica, este campo es autonumerico, tonces cuando hago una consulta para saber cual fue el ultimo campo ingresado me lo muestra super bien, y si hago un ingreso tambien, tonces cuando trato de nuevo de insertar otro nuevo campo me da un error de que el campo ya existe en la base, este problema ya me habia pasado con esta misma base de datos y un amigo del foro de visual vasic me ayudo a solucionarlo pk lo hacia en visual, el problema es que ahora esto mismo me paso en php y no se como hacerlo, bueno les dejo el link para que vean en lo que me ayudaron en el otro foro
http://foros.solocodigo.com/index.php?showtopic=18720&hl=
bueno yo no tengo idea de como hacerlo por eso pido la ayuda, tambien les dejo como hago la busqueda de ultimo folio, gracias de antemano a todos por darse el tiempo de leer este codigo
Código: Text
  1.  
  2. <?
  3. function obtener_nuevofolio()
  4. {
  5. $db= "\\\pc_soporte\c$\prueba\db_soporte.mdb";
  6. $basesoporte=("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$db");
  7. $conexionfolio=odbc_connect($basesoporte,"","");
  8. $consultafolio= "select top 1 folio_atencion from maestro_atenciones ORDER BY folio_atencion desc";
  9. $rsfolio=odbc_exec($conexionfolio, $consultafolio);
  10. $num_rowsfolio = odbc_num_rows($rsfolio);
  11. $rowfolio = odbc_fetch_array($rsfolio);
  12. $folionuevo=0;
  13. $folionuevo= $rowfolio['folio_atencion'];
  14. $folionuevo++;
  15. return $folionuevo;
  16. }
  17. ?>
  18.  
  19.  
:hola:
Un Tigre Nunka Kambia Sus Rayas

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Otro Problema Mas
« Respuesta #1 en: Jueves 23 de Noviembre de 2006, 22:37 »
0
A ver si entiendo

Quieres tomar el ultimo id para sumarle 1 y luego insertalo como el nuevo id


$id=1
$nuevoid=id+1

entonces $nuevoid=2 e insertar el nuevo id en la bd?

Código: Text
  1.  
  2. INSERT INTO tabla VALUES ($nuevoid,$otrocampo,$otro)
  3.  

Bueno, si es asi, no es necesario que incrementes el campo autonumerico porque para algo ya es autoincrement :P solo lo insertas como null

Código: Text
  1. INSERT INTO tabla VALUES (NULL,$otrocampo,$otro)
  2.  



Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Otro Problema Mas
« Respuesta #2 en: Jueves 23 de Noviembre de 2006, 22:52 »
0
F_Tanori, no se si esté mal como lo dices, pero yo lo hago asi (el INSERT)
Código: Text
  1.  
  2. INSERT INTO tabla (campo1, campo2, campo3) VALUES ($valor1, $valor2, $valor3)
  3.  
  4.  
eso si son valores numéricos, si no pongo
Código: Text
  1.  
  2. ... VALUES ('$valor1', '$valor2', '$valor3')
  3.  
  4.  
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Otro Problema Mas
« Respuesta #3 en: Jueves 23 de Noviembre de 2006, 23:00 »
0
Cita de: "ibito"
F_Tanori, no se si esté mal como lo dices, pero yo lo hago asi (el INSERT)
Código: Text
  1.  
  2. INSERT INTO tabla (campo1, campo2, campo3) VALUES ($valor1, $valor2, $valor3)
  3.  
  4.  
eso si son valores numéricos, si no pongo
Código: Text
  1.  
  2. ... VALUES ('$valor1', '$valor2', '$valor3')
  3.  
  4.  
:P


En esa forma tambien puedes insertar, incluso en diferentes orden de los campos
Código: Text
  1.  
  2. INSERT INTO tabla (campo1, campo3) VALUES ($valor1,$valor3)
  3.  
  4. INSERT INTO tabla (campo3, campo1) VALUES ($valor3,$valor1)
  5.  
  6.  

De la otra manera no es necesario indicar el nombre

Código: Text
  1.  
  2. INSERT INTO tabla VALUES ($valor1,$valor2,$valor3)
  3.  

asumiendo que estan en el mismo orden y todos los campos,si funciona... bueno bueno si me equivoque es que olvide la palabra VALUES :P

Gracias
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Otro Problema Mas
« Respuesta #4 en: Viernes 24 de Noviembre de 2006, 13:30 »
0
muchas gracias por la ayuda, pero resulta que yo debo asignar el autonumerico, porque despues lo muestro en pantalla al momento de grabar tonces necesito saber cual es el numero para indicarle al usuario cual es su numero de atencion, odbc no tiene mysql_insert_id(), para saber el ultimo id ingresado tonces debo tener un control de los folios que se ingresan, bueno espero que me puedan ayudar o dar algun consejo con respecto a este tema, bueno amigos muchas gracias por su tiempo de antemano gracias
Un Tigre Nunka Kambia Sus Rayas

D0M41N

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Otro Problema Mas
« Respuesta #5 en: Viernes 29 de Diciembre de 2006, 17:22 »
0
si al ID lo pusiste autonumerico no hace falta que lo agregues, yo agrego solo los otros campos, el ID se autoincrementa porque asi lo espesifique.
Y lo podes mostrar igual. de hecho ni siquiera lo selecciono:

Código: Text
  1.  
  2. "INSERT INTO tabla (nombre,apellido,dni,direccion,telefono,localidad) VALUES ('$_POST[nombre]','$_POST[apellido]','$_POST[dni]','$_POST[direccion]','$_POST[telefono]','$_POST[localidad]')"
  3.  
  4.  

Ves? ni lo nombro al ID, pero como es autonumerico, cada row que agregue a la tabla se incrementa un valor.
Y despues si quiero ver el ID:
Código: Text
  1.  
  2. "SELECT id FROM tabla WHERE nombre = '$nombre'"
  3.  
  4.  

No entiendo para que lo queres autoincrementar vos, si igual es autoincrement.
Salu2 D0M41N.