Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2011, 03:18
portela85
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años, 7 meses
Puntos: 3
Llamada a una función, dentro de otra función

Hola a todos! a ver si me podéis echar una manita para solucionar un problemita.
Tengo un formulario con dos campos: un campo proyecto que se insertará en la tabla de proyectos y un campo interlocutor que obtengo de un desplegable.

Ademas del dato insertado en la tabla de proyectos, tengo otra tabla llamada proyectos_interlocutores donde se guardan los identificadores de ambos.
Por tanto, he creado otra función que me de el id único del interlocutor, ya que el del proyecto lo obtengo con mysql_insert_id().

Esta es la función que obtiene el identificador del interlocutor. Si hago un $query, dentro de esta función, se ve que toma los datos correctamente, sin embargo, el problema es que no se asigna a la variable $identificadorinterlocutor de la siguiente función.

Código:
    public  function obtenerIdInterlocutor($interlocutor){
	$query="Select Id_inerlocutor FROM interlocutores WHERE interlocutor='$interlocutor';";
	$consulta=new Consulta($query);
	   if(!$consulta){ 
		throw new Exception("Error al obtener el identificador: ".$interlocutor);
             }

    }
Y esta la función que recoge los datos del formulario e inserta en las dos tablas.

Código:
    public static function crearProyecto($nombreproyecto, $interlocutor){
        $query="INSERT INTO proyectos ( proyecto ) VALUES ('$nombreproyecto');";
            $consulta = new Consulta($query);
            	$query;
                if(!$consulta) {
                    throw new Exception("Error al crear el Proyecto: ".$nombreproyecto);
                }
	$id = $consulta->ultimo_identificador();
	$fecha_actual = date("d-m-Y");
	
	$identificadorinterlocutor=Proyecto::obtenerIdInterlocutor($interlocutor);
	echo $identificadorinterlocutor;
echo $identificadorinterlocutor;

	$query2="INSERT INTO interlocutor_proyecto (idinterlocutor,idproyecto, responsablehabitual, fechainicio) VALUES ('$identificadorinterlocutor', '$id', 1, '$fecha_actual');";
	    $consulta2=new Consulta($query2);
	    if(!$consulta2) {
                    throw new Exception("Error al asignar el". $interlocutor." al proyecto ".$proyecto);
                }
        return $id;
    }
Gracias!