Novedad  [Tutorial] Estructura de una Task/Tarea
Bueno amigos de SoporteMyBB aca otro tuto mas!! Este tuto explica la estructura de una tarea!! Este tuto está protegido bajo CreativeCommons. Sola...

Bueno amigos de SoporteMyBB aca otro tuto mas!!
Este tuto explica la estructura de una tarea!!

[Imagen: 80x15.png] Este tuto está protegido bajo CreativeCommons.
Solamente esta posteado en SoporteMyBB....
Si deseas publicarlo en otros sitios tendrás que publicar la fuente original o escribir los siguientes datos:
  • Estructura de una Tarea/Task
  • Creado por Edson Ordaz
  • Equipo de desarrolladores de SoporteMyBB


Bueno para empezar usaremos una tarea MUY utilizada que es actualiza_avatar creada por mi amigo Mauricio Calderon!!!

Al abrirla esta lo siguiente!!
Código PHP:
<?php
function task_actualiza_avatar($task)
{
global 
$db;
$total $db->num_rows($db->query("SELECT * FROM mybb_users WHERE avatar=''"));
$db->query("UPDATE mybb_users set avatar = 'images/avatars/sinavatar.jpg' where avatar = ''");
add_task_log($task,"Fueron actualizados $total avatar...");
}
?>

Primero que nada el function siempre debe llebar task al principio por ser una tarea despues el nombre del archivo y entre parentesis task
task_actualiza_avatar($task)
como esta en la task!!

despues lo siguiente!!

Código PHP:
$total $db->num_rows($db->query("SELECT * FROM mybb_users WHERE avatar=''")); 



Esto nos dice que contara Todos los avatars de la tabla de usuarios que esten nada o bien en blanco!!

(Guiate por el color)
$total = $db->num_rows($db->query("SELECT * FROM mybb_users WHERE avatar=''"));

esta linea
Código PHP:
$db->query("UPDATE mybb_users set avatar = 'images/avatars/sinavatar.jpg' where avatar = ''"); 



Nos dice que actualizara los avatars en blanco de la tabla de usuarios por una imagen!!
(GUIATE POR EL COLOR)
$db->query("UPDATE mybb_users set avatar = 'images/avatars/sinavatar.jpg' where avatar = ''");

Les dejo una imagen de la base de datos donde les señalo la tabla users y avatar donde editara

[Imagen: 2wgae7n.png]

y para terminar la tarea
Código PHP:
add_task_log($task,"Fueron actualizados $total avatar..."); 

esto cuenta cuantos avatars fueron actualizados pero como lo hace? facil recuerden que esta linea
Código PHP:
$total $db->num_rows($db->query("SELECT * FROM mybb_users WHERE avatar=''")); 

Les expliq que cuenta TODOS los avatrs que estan en blanco esto lo guarda en $total entonces como esta tarea actualiza los avatrs en blanco y esa linea se encarga de contarlos aqui muestra el numero de avatars que se actualizaron!!

Esta es la forma en que se realiza una tarea (existen mas formas pero esta es la mas comun) espeor les haya gustado, aprendan y creen tareas para SoporteMyBB!
Una vez mas creditos a Mauricio por la task y ami por el tutorial!

PD: Si tienen dudas o preguntas postenlas!
Saludos!
Última modificación: 11 Nov, 2010, 9:17 pm por LeoNeL =D.
Pues me parece que lo he entendido. Big Grin
Lo de marcar en colores ayuda bastante.

Excelente tutorial Edson!

+Gracias!
WoW!

Muchas gracias Edson, y lo de los colores así uno entiende mucho mejor U.U
pues para alguien que no sabe absolutamente nada de PHP ni de MySQL como yo,
queda muy claro este tuto.

+Gracias compañero!

Saludos.
(21 Nov, 2010, 9:33 am)Invitado escribió: WoW!

Muchas gracias Edson, y lo de los colores así uno entiende mucho mejor U.U
pues para alguien que no sabe absolutamente nada de PHP ni de MySQL como yo,
queda muy claro este tuto.

+Gracias compañero!

Saludos.

Este tuto lo ise para que ustedes los que sepan y no sepan puedan crear sus tarea basandose en esto y si tienen errores q lo posten aqui y nosotros los que sabemos les decimos donde y xq!

mm buena guía, edson como podría actualizar campos de perfil personalizados.
En mi caso precisaría para nacionalidad y sexo, ponedle que son id 4 y 5. como tendría que ser la tarea? mm ponerle nacionalidad desconocida ponele a 100 usuarios que no tenga nada asignado.
esta linea es la que actualiza

Código:
$db->query("UPDATE mybb_users set avatar = 'images/avatars/sinavatar.jpg' where avatar = ''");

podrias ponerle asi

Código:
$db->query("UPDATE numero1 set numero2 = 'numero3' where numero4 = ''");

numero1: nombre de la tabla en tu caso seria mybb_userfields
numero2: campo a actualiza por ejemplo fid5
numero3: lo que actualizara por ejemplo masculino
numero4: los campos que quieres cambiar seria tambien fid5

Osea mira en esa linea dices que si numero4 esta vacia actualizara numero2 poniendo numero3 en la tabla numero1 practicamente numero2 y numero4 seria lo mismo y numero3 lo que actualizara Wink

Si no entiendes dimelo....
gracias edson, pero en si me andaba a medias lo de hacerlo por tareas, lo hice con consulta sql y quedo perfeco, mas sencillo y menos tiempo jeje.
Tenia que actualizar 500 usuarios que no tenian ni sexo ni pais seleccionado y al estar requerido salia imagen desconocida.

Problema Solucionado GRaciasssss