Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Añadir sql a un modulo

Estas en el tema de Añadir sql a un modulo en el foro de Joomla en Foros del Web. Hola, quisiera modificar lo que hace el modulo jfancy. Lo que quiero es que por cada fichero que suba me añada un registro en una ...
  #1 (permalink)  
Antiguo 14/12/2010, 04:48
 
Fecha de Ingreso: abril-2007
Mensajes: 12
Antigüedad: 17 años, 7 meses
Puntos: 0
Añadir sql a un modulo

Hola, quisiera modificar lo que hace el modulo jfancy. Lo que quiero es que por cada fichero que suba me añada un registro en una tabla de la BBDD. Alguien me puede dechir como y donde?

Investigando he llegado a la conclusion que la subida lo hace en el fichero script.php (en el raiz del directorio del modulo) en la linea que tras comprobar posibles errores de tamaño y demas pone:

Código HTML:
move_uploaded_file($_FILES['photoupload']['tmp_name'], $updir . $_FILES['photoupload']['name']);
		chmod($updir . $_FILES['photoupload']['name'], 0777);
La segunda sentencia supongo que sera tema de permisos, y la primera es donde supongo que sube el fichero. Creo que es aqui donde tengo que insertar la llamada. Voy por buen camino?

Si es asi, como hago la llamada a la BBDD en php?

Gracias y un saludo a todos
  #2 (permalink)  
Antiguo 15/12/2010, 14:49
 
Fecha de Ingreso: abril-2010
Mensajes: 42
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Añadir sql a un modulo

Hola,
veo que nadie sabe resolverme la duda. He seguido con el intento y creo que el codigo deberia ser asi, si embargo me da error.He de puntualizar, que la subida del archivo la realiza bien, pero a continuacion me da error, supongo que sera por el codigo que he metido para la BBDD.

Código HTML:
//Aqui se realiza la subida si todo va bien
if (!in_array(getExt($_FILES['photoupload']['name']), $exts)) {
	$error = "File not supported type;<br>valid extensions are $extensions";
} else {
	move_uploaded_file($_FILES['photoupload']['tmp_name'], $updir . $_FILES['photoupload']['name']);
	chmod($updir . $_FILES['photoupload']['name'], 0777);
	}
...

if ($error){ //Aqui comprueba si hay errores
	$result['result'] = 'failed';
	$result['error'] = $error;
} else { //Si no hay errores
	$result['result'] = 'success';
	if ($size[0])
		$result['size'] = "Uploaded an image ({$size['mime']}) with  {$size[0]}px/{$size[1]}px.";
	else 
		$result['size'] = "Uploaded an item (.".getExt($_FILES['photoupload']['name']).").";

	//A partir de aqui he añadido yo el codigo, recojo la BBDD, preparo la sql y realizo la llamada

        $db = &JFactory::getDBO();
	$sql = "INSERT INTO `#__joomdoc` (catid, dmowner, published, approved, dmsubmitedby) VALUES (17, 64, 1, 1, 62)";
	$db->setQuery($sql);
	$db->query();		
}
Repito que lo que quiero es que por cada archivo subido, que me añada un registro en la tabla joomdoc. Este codigo esta en el archivo modules/mod_jfancy/script.php. Tambien he de decir que este modulo no realiza ninguna otra llamada a la BBDD, ni siquiera crea su propia tabla.

Por ello, no se si aparte del codigo que yo he metido falta algo mas, alguna declaracion o algo, o si tengo que crear algo en el directorio administratrator/modules (que no hay nada sobre este modulo).

Necesito la ayuda urgentemente, por favor.

Gracias de antemano
  #3 (permalink)  
Antiguo 19/12/2010, 04:27
 
Fecha de Ingreso: abril-2010
Mensajes: 42
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Añadir sql a un modulo

Hola, ya he encontrado la solucion, la pongo por si a alguien lo necesita:

Código HTML:
//Conexion a la base de datos para añadir ficheros a joomdoc
$j = new JConfig();

$dbh = mysql_connect($j->host, $j->user, $j->password) or die('error db');
		
$sql = "INSERT INTO `#__joomdoc` (catid, dmowner, published, approved, dmsubmitedby) VALUES (17, 64, 1, 1, 62)";
		
$db = mysql_select_db($j->db, $dbh) or die('error db');
mysql_query($query);
mysql_close($dbh);
WebMaster, puedes dar el tema como solucionado!

Etiquetas: añadir, modulo, sql
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 07:45.