Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2010, 07:08
khalim13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 7 meses
Puntos: 0
Ayuda con consulta SQL con Servicios

Buenos dìas amigos foristas! Le escribo para ver si pueden ayudarme con el siguiente problema. Estoy realizando un sistema basado en servicios, con la clase nusoap y necesito hacer lo siguiente: Tengo una serie de datos en el formulario que insertarè en la base de datos, a travès de mi servicio. Eso puedo hacerlo. El asunto es que antes de ingresar los datos, debo generar un nùmero de identificaciòn e insertarlo junto con el resto de los datos. Este nùmero viene dado por el anterior nùmero de identificaciòn màs uno. (Num +1) Estaba pensando hacer un servico con 2 consultas sql. Una parte de mi funciòn serìa algo como esto:



function VerificarPago($datos)
{
/*conectar a la base de datos*/
$conn = pg_connect("host='".HOST."' dbname='".BASE_DATOS."' user='".USUARIO."' password='".CLAVE_USUARIO."'")
or die ("Error de Conexion con la Base de Datos.");
/*ejecutar query*/
$stat=1;
Código PHP:
Ver original
  1. $sql1="SELECT MAX id FROM paymul1";
  2.         $query1=pg_query($conn,$sql1);
  3.      $sql="UPDATE paymul1 SET estatus='".$stat."', verificador='".$datos['indicador']."' ,fecha_ver='".$datos['fecha']."' WHERE num_pay='".$datos['num_pay']."';";
  4.         $query=pg_query($conn,$sql);
  5.         $dato=array();

Lo que no sè hacer es realizar la primera consulta (donde obtengo el MAX id) tomar el resultado que esa consulta me devuelve y sumarle 1 para luego hacerle el update. Algo asì:

$sql1="SELECT MAX id FROM paymul1"; (Tambièn pensè en: "sql1="SELECT MAX id AS num_pay1 FROM paymul1")

Asignarle ese ""MAX id" que obtengo a una variable y sumarle uno, para luego hacer el update:

num_pay1= max id+1;

$sql="UPDATE paymul1 SET estatus='".$stat."', verificador='".$datos['indicador']."' ,fecha_ver='".$datos['fecha']."', num_pay1='".$num_pay1."' WHERE num_pay='".$datos['num_pay']."';";


Algo asì pes. Quizà es algo sencillo, pero yo soy nuevo ene sto y no tengo muchos conocimientos, he estado buscando, pero no he dado con la forma correcta de hacerlo.

Espero haberme explicado bien y que puedan ayudarme.
De antemano, muchas gracias