Para entenderle sí van a tener que saber de PHP.

En varias ocasiones me he visto forzado a guardar en un campo de la base de datos un string así “1,2,3,4,5″, generalmente cada número representa un ID que concierne a una llave foránea. Precisamente porque soy holgazán, me di a la tarea de idear una función que me permitiera crear una cadena SQL válida con tantos OR como números (incluso palabras) separados por comas tenga el campo.

Esta función nace del siguiente caso práctico… tengo una tabla llamada campaña, la cual almacena cierta información, a cada campaña se le pueden asignar “N” cantidad de agentes, ergo hice un listado de agentes que (mediante ajax) se asignan a la campaña en dicho campo con el formato “1,2,3,4,5,6″, cada número significa el id del registro del agente. Para continuar, al consultar la campaña debía extraer el nombre de cada uno de los agentes para listarlos como “asignados” a “x” campaña…

La finalidad es escribir menos y hacer más.

 


	//Este convierte un '1,2,3' en un (campo = {1} OR campo = {2} OR campo = {3})
	function or_sql_cadena ( $parametros = null )
	{
		//el resultado siempre lo declaro al principio y como vacío para que si se cuelan... se lleven un '';
		$result = '';
		//Haciendo que el que llama esta funcíón sepa que debe mandar una rreglo como parámetro.
		if( is_array($parametros) )
		{
			//Variables para todo el flujo de la función.
			$campo_comparacion = '';
			$arr_temporal = array();
			$result_and = '';
			$result_or = '';

			if(array_key_exists('campo_comparacion', $parametros)) // que sí venga el parámetro
			{
				if(!empty($parametros['campo_comparacion'])) //Que el parámetro no sea vacío
				{
					$campo_comparacion = $parametros['campo_comparacion'];
				}
			}

			if(array_key_exists('cadena_texto', $parametros)) // que el parámetro sí venga
			{
				if( !empty($parametros['cadena_texto']) ) //que el paraámetro no sea vacío
				{
					$arr_temporal = explode(',', $parametros['cadena_texto']);
				}
			}
			//Si trae datos el arreglo, etonces continua
			if(count($arr_temporal)>=1)
			{
				//Armando la cadena SQL empezando con el AND
				$result_and .=  ' AND (';
				//por cada posición del arreglo temporal haz:
				foreach($arr_temporal as $idx => $campo_id)
				{
					//si ya trae algo la cadena, entonces métele un OR
					if ($result_or != '') { $result_or .= ' OR '; }
					//aquí hago que el query haga la comparación entre datos con el campo (casi siempre llave foránea) que se va a comparar
					$result_or .= " {$campo_comparacion} = {$campo_id}";
				}
				//concateno lo que armó el for
				$result_and .= $result_or;
				//cierro la condición
				$result_and .= ')';
			}
			//Si hubo incidencias en el for, entonces haz:
			if ($result_or != '')
			{
				//Si el query tiene AND
				if ($result_and != '')
				{
					//regresas la cadena al resultado
					$result = $result_and;
				}
			}

		}
		//regresa la cadena al resultado
		return $result;
	}

La manera en que se invoca dicha función es ésta:


//obtener todos los datos de la campaña
$sql_get_campana = "SELECT * FROM campana cmp WHERE cmp.cmp_id = {$db_indial->escape($campana_id)} AND cmp.cmp_estatus =  {$db_indial->escape(CAMPANA_ACTIVO)}  LIMIT 1; ';
$registro_campana = $db_indial->query($sql_get_campana)->num_rows() == 1 ? $db_indial->query($sql_get_campana)->row() : false;

//obtener todos los datos de los agentes
$agentes_asignados_cadena = (count($registro_campana)>=1) ? $registro_campana->cmp_agentes : ''; // asigno el valor del campo

//por si no trae ningún agente:
$registros_agentes = '';
$sql_get_agentes_or = '';
if(!empty($agentes_asignados_cadena)) // Cuando traigo un dato, entonces preparo la consulta SQL para que haga el OR
{
	$param_or_sql['cadena_texto'] = $agentes_asignados_cadena;
	$param_or_sql['campo_comparacion'] = 'agn.agn_id';
	$sql_get_agentes_or = $this->indial_utilerias->or_sql_cadena($param_or_sql);
	$sql_get_lista_agentes = "SELECT * FROM agente agn WHERE agn.agn_estatus = {AGENTE_ACTIVO}  {$sql_get_agentes_or}  AND agn.agn_enllamada = 0 ";
	$sql_get_lista_agentes .= " AND agn.agn_estatusoperativo IN (SELECT cat_id FROM catalogo WHERE sec_id = {$db_indial->escape(ESTATUS_PANEL_AGENTE)} AND cat_valor0 = UPPER('SI')) ";
	$sql_get_lista_agentes .= "ORDER BY agn_id ASC; ";
	$registros_agentes = $db_indial->query($sql_get_lista_agentes)->num_rows() >= 1 ? $db_indial->query($sql_get_lista_agentes)->result() : false;
} 

//Happy coding.
SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

Una de las ventajas de llevar lo más firme posible mi vida como la llevaría un guerrero honorable es que el poder me ha hecho sentir la brisa de la mañana, fresca, tierna, juguetona y amable…

Gracias.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

Porque de la misma forma en que mi alma recobró el conocimiento de su indestructibilidad, hoy acabo de encontrar con el recuerdo en un recodo de mi ser de que, soy demasiadas cosas buenas pero por mala fortuna, el mundo ha educado mi pensamiento con frases como: “Eso parece tan bueno que ha de ser cosa del diablo”. Por ende, así como aprendí ciertas cosas, debo des-aprenderlas.Por lo cual, siendo el agua, la tierra y la luz los elementos básicos, entonces falta el tiempo para que la unión de estas tres formen vida, la vida que tú y yo conocemos. Sí, el miedo es el primero de los enemigos del conocimiento. Continue reading »

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

Como en un mar de copas de cristal que fragiles muestran siempre su transparencia al sol
las esferas cristalinas de tu mirada destellan brillos de amor que parpadean como luceros
agua de sales que nutres nuestro manantial hacen de nuevo un solo ser, un solo centro
desde la boca hasta el firmamento, con tus besos siento que me elevo lento.
Reina hermosa de todas mis vidas, mujer bendita que andando por la vida encontre como
luz infinita como una flor que no marchita, como ese amor que nos damos desde el corazon.

TE AMO, BASICAMENTE.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

.Las imagenes que me han dibujado son subjetivas a sucesos importantes que quiero recordar por siempre.La primera en escena es un enunciado que tomé de la Torah del libro de “El cantar de los cantares del Rey Salomón”.

Continue reading »

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

Fue un día místico, de mi lado, la sorpresa de saber lo que ocurriría, del suyo, la emoción de encontrarse con la otra parte de mi que llena mi vida. Ambos con el alma pendida de un hilo.
Tener esa sensación en el estómago como cuando vas a presentar una prueba para la que toda tu vida te has preparado, todo se resumió al momento mágico en que los ositos recibieron a la osa como parte de ellos, parecía que desde siempre la conocieran, el paso al gran abismo que en algún momento sentí presente, se convirtió en la división de dos bloques de una acera.
Ambos nos esforzamos por esta realidad, en palabras del osito más grande, es increíble. Todo es hermoso, todo brilla, estamos juntos, la luz que emana de esta unión en esta realidad donde nada es imposible porque nuestro sistema de creencias está basado en la frecuencia más alta y maravillosa: el amor.
Sentimos el pecho lleno de oxígeno, de luz, de amor, de tranquilidad, la incertidumbre, el miedo y todas esas situaciones que por su naturaleza son de menor frecuencia quedaron fuera de nuestras vidas.
Estar caminando de la mano juntos los cuatro nos representó algo así como un choque eléctrico que nos sacudió; ella luce muy bien jugando con el osito más grande, sonriendo al osito más pequeño; el osito me preguntaba si ella también era un oso, por supuesto que lo es -le respondí- ella también es fuerte, es resistente y valiente.
Sus caritas se llenaron de luz, su sonrisa fue grata y llena de amor hacia ella, el Domingo 23 de Enero de 2011 ha quedado grabado en las hojas de nuestras vidas como un día épico de grandes acontecimientos que sellan con amor el inicio de un viaje, el más largo de nuestras vidas que… comenzó con un paso pequeñito.
Convivimos como algo que sin temor a equivocarme siempre quise tener en mi vida: una familia. Maravillosa la sensación, luz, luz cálida y amorosa que con la única certeza del amor y la libertad nos despertó de ese aletargo tan cruel que no sumía en la tristeza del alma.
Después de 6 meses de no poner un pie en su recámara, la habitación, su atmósfera, su calor y todo lo que recordaba de ese lugar sagrado estaba intacto, pasó mucho tiempo pero no se perdió nada, después de todo, lo que se ama nunca se pierde.
Venimos de mundos distintos, nuestro origen es similar pero no el mismo, a base del esfuerzo y el trabajo constante hemos logrado alcanzar el pináculo de la felicidad, la realización.
Gracias Universo, Dios, Cosmos, mente, destino o como quiera que se llame, pero sobre todo: gracias Tania Vázquez, por decidirte a estar con nosotros, nos amo, te amo, gracias mi amor.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

Se feliz con lo que tienes y aprecia lo que te rodea.

Feliz 2011 les deseo, repitan esto a manera de mantra, todos los días, cada minuto, cuando la vida parezca tener poco significado.

Los amo.

Gracias a José Juan "Kaz" Casimiro Ríos por su aportación.
SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

Una de las desventajas del uso intensivo de las redes sociales es que dificulta la retroalimentación de expresiones faciales, las cuales son indispensables para poder experimentar emociones y compenetrar con el que se conversa. Yo, por ejemplo, ya estoy muy pinche dañado.

El cerebro humano ha trascendido sobre el de otras especies ya que su topografía está diseñada y adecuada a través del paso de los años para reconocer emociones dentro del rostro de otro congénere, éste fue el factor determinante para que la especie sobreviviera. Los mamíferos, en especial los chimpancés que tienen una línea evolutiva simil a la de la raza humana comparten éste tipo de topografía cerebral, así como los circuitos neuronales que hacen posible el contagio de las emociones.

También, ha sido dado a conocer por neurocientíficos que el ser humano resulta completamente permeable a las emociones que observa en seres cercanos a éste y puede ser empático con casi cualquier tipo de emoción que vea en alguna persona. Las emociones, al ser interpretadas por el cerebro, utilizan recuerdos propios así como otro tipo de recursos (sobre todo químicos que son neurotransmisores) para poder experimentar, sino al 100% la emoción del otro, sí en un 99% ya que se unen los esfuerzos de varias zonas cerebrales para lograr comprender una emoción o sensación. Continue reading »

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
 

No puedo parar de pensar en ti, es mucho, es enorme, es amor, es la
brisa de la mañana que con su caricia suave me recuerda la textura de
tu piel y de tus manos, es la luz del sol que con su calor cobija mi
cuerpo y su abrazo me recuerda la temperatura de tus besos, es la hoja
del árbol que cae por la voluntad del universo que anticipado a mis
suspiros entrega en mi pensamiento la plácida imagen de mi amada cuand
está dormida, desnuda del alma y desnuda del cuerpo.
Es el amor que me alimenta y hace que la boca se me seque para
exclamar con voz fuerte tu nombre, así se calma la se de mi boca,
gritándole agradecimientos al cosmos por la magia y la buena fortuna
de haberte encontrado. Tu risa me da vida, tu valor me da calor. Que
perfecta y cuán hermosa eres mi amor. Te pienso, quiero sentirte,
quiero tocarte, te extraño, siento como si el mundo entero se diera
vueltas sobre su eje en mi estómago, la emoción de la que soy presa
cuando te siento cerca me aproxima en una mirada a ti buscando ese
tímido destello de paz que a mi llegada explota y nos hace vivir el
cénit.
Gracias por esta sensación de amarnos. Gracias por mostrarme el
amor del que ya habíamos hablado, hoy lo vivo contigo y me siento
feliz. Tú, tú eres buena y me haces bien.

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon
© 2012 Geekeandome Suffusion theme by Sayontan Sinha