Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LaThortilla (Effort)

#181
Cita de: MinusFour en  6 Marzo 2015, 02:11 AM
Los desarrolladores de los sitios web, si. ¿Estas seguro que no tienes adblock o algo asi en tu otro navegador?
uso chrome... y como te digo no es cuestion de los desarrolladores de los sitios.... (adblock ) amm ese es para eliminar codigo de las paginas... hacen lo contrario que los ads que insertan codigo...
tengo montados unos sitios webs locales y igual se inserta codigo que yo no puse... y al revisar las peticiones http que se han hecho pues se han hecho peticiones a otros dominios
Cita de: MinusFour en  6 Marzo 2015, 02:11 AM
En Chrome y Firefox puedes abrir una ventana en modo seguro (que no carga las extensiones). En chrome simplemente puedes abrir una ventana en incongnito (Ctrl+Shift+N). En firefox creo que es diferente....
pues los anuncios ads que tengo en mi navedor(chrome) no es cuestion de las paginas webs....
no he probado con el modo incógnito...
#182
Cita de: MinusFour en  6 Marzo 2015, 01:44 AM
Ellos en si no inyectan nada en los navegador o el sitio. Cada desarrollador tiene que incluir los archivos javascript necesarios para que los ADs funcionen. A menos que estemos hablando de paginas que tienen Ads sin el consentimiento del webmaster.
Cuando dices desarrolladores a cuales te refieres a los de los sitios webs?


te comento:
tengo en mi navegador un ads que no es una extensión, o al menos no aparece en las extensiones... al inspeccionar el codigo veo en los headers de las paginas scripts que no están ahi si lo veo desde otro navegador...
#183
tengo una duda... me interesa saber como es que son capases de inyectar código javascript en el navegador ?

Exenciones? plugins? un software externo al navegador?
#184
Solución:
Crear un Trigger Asi:


Código (sql) [Seleccionar]
BEGIN
DECLARE con INT;
SET con = (SELECT MAX(MID(tabla1.id,1,5))+1 FROM tabla1 WHERE YEAR(fecha) = YEAR(CURDATE()));
SET NEW.id = CONCAT(LPAD(con, 5,'0'), '/', YEAR(CURDATE()));
END


donde id es varchar(15);

Cualquier otra solución bienvenida seaa;
#185
Listo faltaba una coma (,) Gracias Gracias
#186
SI tienes mucha razon pero aun me salta error #1582 - Incorrect parameter count in the call to native function 'LPAD'
#187
lo que intento hacer es almacenar en una variable el resultado de la consulta (linea 8) y luego Modificar el id;


me salta error #1064 (linea 8) (solucionado) (faltaba BEGIN y END)
me salta error #1582 - Incorrect parameter count in the call to native function 'LPAD' (faltaba una coma) Graciass :D
Código (sql) [Seleccionar]
CREATE
DEFINER=`root`@`localhost`
TRIGGER `new_trigger`
BEFORE INSERT ON `tabla1`
FOR EACH ROW
BEGIN
DECLARE con INT;
SET con = (SELECT COUNT(id)+1 FROM tabla1 WHERE YEAR(fecha) = YEAR(CURDATE()));
SET NEW.id = CONCAT(LPAD(con, 5 '0'), '/', YEAR(CURDATE()));
END;
#188
Cita de: MinusFour en 20 Febrero 2015, 02:34 AM
No es tan sencillo. Como te dije, el campo se asigna despues de la insercion (AFTER) y no en antes (BEFORE) y no puedes actualizar el registro en ese entonces.

Porque no en lugar de repetir la informacion haces CONCAT en las consultas. Asi no repites informacion de la tabla:

Código (mysql) [Seleccionar]

SELECT CONCAT(LPAD(tabla.id, 5 '0'), '/', tabla.año) AS idYear
FROM tabla


Necesito este formato por la razón que el index se reinicia cada año :/



Pero te agradezco mucho tu ayuda...
#189
Cita de: MinusFour en 20 Febrero 2015, 01:25 AM
El campo Id probablemente sea un campo con auto_increment. En la documentacion de MySQL lo explican, el campo aparece hasta despues de la insercion. Con AFTER INSERT tampoco puedes hacer el UPDATE a NEW.

En ese caso tendría que incrementarlo manual mente NO?

como podría hacer una consulta y guardarlo en una variable desde el trigger?
#190
Tengo este trigger funcionando en la base

Código (sql) [Seleccionar]

CREATE TRIGGER concatId BEFORE INSERT ON tabla

FOR EACH ROW BEGIN

 SET NEW.IDYEAR =  CONCAT(LPAD(NEW.ID, 5, '0'),'/','2015');
END

donde ID es auto_increment y IDYEAR es varchar(15)
y como resultado al insertar tengo esto

Código (dos) [Seleccionar]
00000/2015

que hago mal?