Insertar registros en tabla

Insertar registros en tabla

de Asier Ramos Martinez -
Número de respuestas: 7
He creado una tabla nueva llamada beta_control_sesiones en la bd de Moodle. ¿Como podria hacer para insertar un registro nuevo cada vez que el usuario se logueara en la pagina?He hecho lo siguiente, pero soy supernovato y no se si esta bien. Cabe decir que lo he puesto al final del require_login() y que el registro es de prueba...

$USER->id_session = 111;
insert_record('control_sesiones', $USER);

P.D: Cuanto tiempo se necesita para comprender la programacion de Moodle?Porque PHP si que se pero es que me cuesta horrores comprender la logica de Moodle
Promedio de valoraciones: -
En respuesta a Asier Ramos Martinez

Re: Insertar registros en tabla

de Gabriel Dias -
Lo que hiciste no esta tan mal. La función insert_record espera como primer parametro el nombre de la tabla(sin el prefijo) y como segundo un objeto.

Nada más que el objeto tiene que tener como propiedades los nombres de las columnas de la tabla, y vos le estas pasando el objeto $USER que tiene un monton de propiedades.

Ej: tabla

id
username
last_login

$record = new object();
$record->username = $USER->username;
$record->last_login = date("d.m.y, g:i a");

if (!$id=insert_record('control_sesiones', $record)) {
error('Error');
}

Este es solo un ejemplo al vuelo, no quiere decir que el codigo funcione porque no lo probé.
Espero te sirva, saludos






En respuesta a Gabriel Dias

Re: Insertar registros en tabla

de Asier Ramos Martinez -
De momento he hecho la prueba con este campo en la tabla creada por mi...

$object= new object;
$object->id_session = 111;
if(!insert_record('control_sesiones', $object)){
error(get_string('inserterror' , 'control_sesiones'));
}

El codigo yo me creo que estara bien, pero lo que quiero hacer es que esta insercion me la haga justo en el momento de hacer Login, pero la implemento en la funciona require_login() y no me funciona...¿Donde la podria implementar para que se me ejecutase?
En respuesta a Asier Ramos Martinez

Re: Insertar registros en tabla

de Asier Ramos Martinez -
Vale me sigue dando error al hacer el insert, pero no me especific mas que Inserterror...

Porque puede ser!!!
En respuesta a Asier Ramos Martinez

Re: Insertar registros en tabla

de Gabriel Dias -
fijate en /login/index.php

en principo despues de la condición

} else if ($frm) {


fijate si te sirve usar alguna de esas funciones para poner tu codigo.

La función require_login no te va a servir para lo que queres hacer porque se llama en la mayoria de las paginas y no te serviría de parámetro para registrar solo el login.

en el ejemplo que pusiste tu tabla deberia tener solo dos campos

id
id_session

chequea que eso sea asi....
En respuesta a Gabriel Dias

Re: Insertar registros en tabla

de Asier Ramos Martinez -
Este es el codigo que he puesto, pero me da un error en el Insert y no hace nada:
$object= new object;
$object->id_session = "111";
insert_record('control_sesiones', $object);

la tabla que he hecho de prueba es la siguiente.

sesiones.jpg
En respuesta a Asier Ramos Martinez

Re: Insertar registros en tabla

de Gabriel Dias -
La verdad es que no me acuerdo 100% si era asi, pero me parece que tenes que tener si o si un primarykey que sea autoincremental

proba el codigo q me pasaste pero a la tabla agregale una columna llamada "id" que sea clave primaria autoincremental y proba si anda