Uutiset:

Wondering if this will always be free?  See why free is better.

Main Menu
Advertisement:

Trabajar con la BD

Aloittaja L.Carroll, helmikuu 07, 2011, 07:36:18 IP

« edellinen - seuraava »

L.Carroll

Buenas noches.

Estoy trabajando en una aplicación para el foro que se carga mediante /index.php?action=aplicacion. La idea es que esta aplicación muestre unos resultados u otros según la configuración previa que haya escogido el usuario. A ver si alguien me puede echar una mano con las siguientes dudas:

1 - ¿Que funciones, y como usarlas, para contactar con la BD del foro? He visto que los datos de conexión con esta acostumbran a estar escritos en Settings.php. Pero no he encontrado que funciones usar tanto para insertar filas, tablas, así como hacer consultas y/o modificaciones (para la utilidad antes explicada).

2- ¿Como obtener el usuario que está accediendo a la aplicación? Ya que entiendo que la aplicación se ejecutará bajo una sesión activa.

lucas-ruroken

version de smf? dependiendo la version de smf, trabajan distinto...

sabes php y sql? por que sino sabes bien, primero deberias leer un poco, antes de usar el sistema de smf... basicamente es lo mismo, pero es necesario que lo sepas.

agregaste los datos correspondientes al index.php? para que te tome el action= ?

Saludos
Adk Portal 3.1 is coming....

Design your universe!

L.Carroll

La version de smf es la 2, la última vaya.

Si, se SQL y Php es lo que ando refrescando un poco pero me desenvuelvo bien.

Y si, agregué ya los datos del action etc. De hecho la aplicación (plug-in o como se le quiera decir) ya la arranqué y está bien linkada etc. Sólo falta la parte de hablar con la BD para mostrar unas cosas u otras.

lucas-ruroken

primero tenes que globalizar $smcFunc;


function TuFuncion
{
   global $smcFunc;



mysql_query es reemplazada por $smcFunc['db_query']();
mysql_fetch_assoc -> $smcFunc['db_fetch_assoc']();
mysql_free_result => $smcFunc['db_free_result']($sql);

tambien te aconsejaria que globalices $context, ya vas a ver por que...

puedes hacer una consulta de la siguiente forma

$sql = $smcFunc['db_query']('','SELECT id_topic FROM tabla WHERE id_topic = 1');
$row = $smcFunc['db_fetch_assoc']($sql);

$context['id_topic'] = $row['id_topic'];

$smcFunc['db_free_result']($sql);


luego en tu plantilla podes user $context['id_topic'] a tu gusto....


esto es solo un ejemplo... las conexiones ya estan abiertas, asi que no es necesario abrir ningun tipo de conexion con la base de datos....

Saludos y cualquier duda aca andamos, creo que es masomenos lo que pedias...
Adk Portal 3.1 is coming....

Design your universe!

L.Carroll

Primero de todo, gracias por la respuesta.

Pero al introducir el código:

$sql = $smcFunc['db_query']('','SELECT COUNT(*) FROM {db_prefix}members');
$row = $smcFunc['db_fetch_assoc']($sql);

Para simplemente hacer pruebas de ver como iba la cosa, me tira el error:

Fatal error: Function name must be a string in RUTA/public_html/Sources/Load.php(2140) : eval()'d code on line 13

La línea 13 es la primera de las dos que he escrito. A ver que me podéis decir.


vicram10

global $smcFunc;
$sql = $smcFunc['db_query']('','SELECT COUNT(*) FROM {db_prefix}members');
$row = $smcFunc['db_fetch_assoc']($sql);


Esta asi?

Tambien tienes mejor aqui para leer todo lo que hay por SMF..

http://support.simplemachines.org/function_db/

Tambien
http://docs.simplemachines.org/index.php?topic=1433
http://docs.simplemachines.org/index.php?board=95.0;sort=subject

Creo que eso globaliza todo... es cuestion de echarle una ojeada... y la pregunta que hiciste lo revisas a aprte de lo que dijo lucas.. este link que te pase tambien mas arriba http://docs.simplemachines.org/index.php?topic=1433

L.Carroll

Lainaus käyttäjältä: vicram10 - helmikuu 08, 2011, 06:33:49 IP
global $smcFunc;
$sql = $smcFunc['db_query']('','SELECT COUNT(*) FROM {db_prefix}members');
$row = $smcFunc['db_fetch_assoc']($sql);


Esta asi?

Tambien tienes mejor aqui para leer todo lo que hay por SMF..

http://support.simplemachines.org/function_db/

Tambien
http://docs.simplemachines.org/index.php?topic=1433
http://docs.simplemachines.org/index.php?board=95.0;sort=subject

Creo que eso globaliza todo... es cuestion de echarle una ojeada... y la pregunta que hiciste lo revisas a aprte de lo que dijo lucas.. este link que te pase tambien mas arriba http://docs.simplemachines.org/index.php?topic=1433

Pues voy a darle una ojeada a esto y cuando tenga algo lo comento ;)

vicram10

siempre ten en cuenta globalizar la variable $smcFunc sin eso.. tendrias ese tipo de problemas que mencionas...
Toda variable global que quieras usar del Settings.php asi como otros lados de SMF.. simplemente lo debes globalizar y ya lo podras usar...

Revisa el Load.php asi como el Subs.php y ahi veras ya muchas funciones que puedes sacarle el jugo..

Ya hay muchas consultas prefabricadas que se encuentran en esos lugares y que con solo globalizar la variable tendras todo sus datos...

La gran mayoria de esas funciones estan explicadas en uno de los links que te pase http://support.simplemachines.org/function_db/

L.Carroll

Lainaus käyttäjältä: vicram10 - helmikuu 08, 2011, 06:40:43 IP
siempre ten en cuenta globalizar la variable $smcFunc sin eso.. tendrias ese tipo de problemas que mencionas...
Toda variable global que quieras usar del Settings.php asi como otros lados de SMF.. simplemente lo debes globalizar y ya lo podras usar...

Revisa el Load.php asi como el Subs.php y ahi veras ya muchas funciones que puedes sacarle el jugo..

Ya hay muchas consultas prefabricadas que se encuentran en esos lugares y que con solo globalizar la variable tendras todo sus datos...

La gran mayoria de esas funciones estan explicadas en uno de los links que te pase http://support.simplemachines.org/function_db/

De acuerdo, lo tendré en cuenta. Por ahora va tirando la cosa. Tuve la novatada de subir el archivo incorrecto, se me fue el dedo a un backup desde el ftp!

He ido trabajando hace tiempo con sql y recien estoy metido con php. A ver como conjugo los dos juntos. Si veo que tengo más problemas iré molestando por aquí jeje.

Muchas gracias por la ayuda a todos.

vicram10

Entonce marcamos como solucionado tu tema?..

L.Carroll

Lainaus käyttäjältä: vicram10 - helmikuu 08, 2011, 07:07:15 IP
Entonce marcamos como solucionado tu tema?..

Si, muchas gracias. Acabo de comprobarlo todo y yo mismo lo marqué como solucionado ;)

lucas-ruroken

perfecto, despues si puedes/quieres añade una demo para ver que hiciste (de chusma que soy nomas :P)
Adk Portal 3.1 is coming....

Design your universe!

vicram10

por mi que se reserve.. y si quiere mostrarlo que lo convierta en mod..

lucas-ruroken

ya entendi el punto, que se reserve.

Saludos
Adk Portal 3.1 is coming....

Design your universe!

Advertisement: