B
blankito1998
Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
puedes ayudarme con este codigo?Sorry I couldn't contact the ChatGPT think tank 🙁
Sí, puedes añadir múltiples criterios de ordenación en una consulta SQL separándolos por comas. Tu sentencia SQL se vería así:puedes ayudarme con este codigo?
SELECT P.* FROM posters P INNER JOIN (SELECT email, MAX(id) as max_id FROM posters WHERE (finally ='yess' or idviews not like '%,".$id.",%') and (username='".$username."' xor idseguis like '%,".$id.",%') and category='livs' AND (photo LIKE '%.webp%' XOR photo LIKE '%.mp4%') GROUP BY email) subq ON P.email = subq.email AND P.id = subq.max_id ORDER BY P.id DESC
puedes añadirle esta funcion?
ORDER BY (idviews LIKE '%,".$id.",%') ASC
SELECT P.* FROM posters P INNER JOIN
(SELECT email, MAX(id) as max_id FROM posters WHERE (finally ='yess' or idviews not like '%,".$id.",%') and (username='".$username."' xor idseguis like '%,".$id.",%')
and category='livs' AND (photo LIKE '%.webp%' XOR photo LIKE '%.mp4%') GROUP BY email) subq ON P.email = subq.email AND P.id = subq.max_id
ORDER BY (idviews LIKE '%,".$id.",%') ASC, P.id DESC
idviews
contiene ".$id."
, de meno a general. Después, para los registros que tienen el mismo valor en ese criterio, ordenará según P.id
de mayor a menor. Por favor, sustituye ".$id."
y ".$username."
por los valores deseados antes de ejecutar la consulta.graciasSí, puedes añadir múltiples criterios de ordenación en una consulta SQL separándolos por comas. Tu sentencia SQL se vería así:
SQL:SELECT P.* FROM posters P INNER JOIN (SELECT email, MAX(id) as max_id FROM posters WHERE (finally ='yess' or idviews not like '%,".$id.",%') and (username='".$username."' xor idseguis like '%,".$id.",%') and category='livs' AND (photo LIKE '%.webp%' XOR photo LIKE '%.mp4%') GROUP BY email) subq ON P.email = subq.email AND P.id = subq.max_id ORDER BY (idviews LIKE '%,".$id.",%') ASC, P.id DESC
El código anterior ordenará primero los datos según siidviews
contiene".$id."
, de meno a general. Después, para los registros que tienen el mismo valor en ese criterio, ordenará segúnP.id
de mayor a menor. Por favor, sustituye".$id."
y".$username."
por los valores deseados antes de ejecutar la consulta.
¡De nada! Si tienes alguna otra pregunta, no dudes en hacerla. ¡Estoy aquí para ayudar!gracias
tengo una duda, me di cuenta ayer, mi pagina se ve bien en un tlf con resolucion de 300p pero en uno superior de 500px se ve bien pero muy pequeña, como puedo solucionar eso?¡De nada! Si tienes alguna otra pregunta, no dudes en hacerla. ¡Estoy aquí para ayudar!
Esto sucede generalmente porque los estilos CSS de tu página no están diseñados para adaptarse correctamente a diferentes tamaños de pantalla, en términos del diseño web esto se conoce como "responsividad". Para solucionar este problema, puedes utilizar las consultas de medios CSS o "media queries", las cuales te permiten aplicar diferentes estilos de acuerdo a las características del dispositivo, como la resolución de pantalla.tengo una duda, me di cuenta ayer, mi pagina se ve bien en un tlf con resolucion de 300p pero en uno superior de 500px se ve bien pero muy pequeña, como puedo solucionar eso?
.my-element {
width: 100%;
}
@media (min-width: 500px) {
.my-element {
width: 50%;
}
}
pense que esto nada mas se hacia para pc :c ni modo me tocara hacerlo tmb para tlfEsto sucede generalmente porque los estilos CSS de tu página no están diseñados para adaptarse correctamente a diferentes tamaños de pantalla, en términos del diseño web esto se conoce como "responsividad". Para solucionar este problema, puedes utilizar las consultas de medios CSS o "media queries", las cuales te permiten aplicar diferentes estilos de acuerdo a las características del dispositivo, como la resolución de pantalla.
Por ejemplo, si quieres que un elemento tenga un ancho del 100% para pantallas menores a 500px y del 50% para pantallas mayores a 500px, puedes hacer lo siguiente:
CSS:.my-element { width: 100%; } @media (min-width: 500px) { .my-element { width: 50%; } }
Debes identificar qué elementos de tu página están causando el problema (como imágenes, textos, contenedores, etc.) y aplicar un diseño responsivo para los mismos. Si este tema es muy avanzado para ti, te recomendaría buscar ayuda de un desarrollador web con experiencia en diseño responsivo.
Así es, en el mundo actual, donde los dispositivos móviles son muy frecuentes, es esencial asegurarse de que tu sitio web sea completamente responsivo, funcionando bien tanto en ordenadores de escritorio como en teléfonos móviles. De hecho, Google ha cambiado a la indexación mobile-first, lo que significa que primero mira la versión móvil de tu sitio para determinar su posicionamiento. Así que, aunque pueda parecer un poco más de trabajo ahora, definitivamente vale la pena a largo plazo. ¡Buena suerte!pense que esto nada mas se hacia para pc :c ni modo me tocara hacerlo tmb para tlf
mm no sabia eso, gracias entonces voy a mejorar full mi diseño web movilAsí es, en el mundo actual, donde los dispositivos móviles son muy frecuentes, es esencial asegurarse de que tu sitio web sea completamente responsivo, funcionando bien tanto en ordenadores de escritorio como en teléfonos móviles. De hecho, Google ha cambiado a la indexación mobile-first, lo que significa que primero mira la versión móvil de tu sitio para determinar su posicionamiento. Así que, aunque pueda parecer un poco más de trabajo ahora, definitivamente vale la pena a largo plazo. ¡Buena suerte!
¡Esa es la actitud correcta! Optimizar tu sitio para dispositivos móviles no solo mejorará la experiencia del usuario, sino que también puede ayudarte a mejorar tu posicionamiento en los motores de búsqueda. ¡Buena suerte con tus mejoras!mm no sabia eso, gracias entonces voy a mejorar full mi diseño web movil
function historyprat(){¡Esa es la actitud correcta! Optimizar tu sitio para dispositivos móviles no solo mejorará la experiencia del usuario, sino que también puede ayudarte a mejorar tu posicionamiento en los motores de búsqueda. ¡Buena suerte con tus mejoras!
Claro, puedes definir la funciónfunction historyprat(){
var historys = setInterval(function(){
$.get("hola.php?historys=username", function(omsclock) {
var div = document.getElementsByClassName('historypro')[0];
if(!div){
clearInterval(historys);
}else{
var elementoHTML = document.createElement("html");
elementoHTML.innerHTML = omsclock;
var texto = elementoHTML.getElementsByClassName("grand")[0];
var wam= texto.getAttribute("data");
if(wam !== div.getAttribute("datahit")){
$.get("hola.php?historys=username&news", function(omsclockpro) {
document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro;
div.setAttribute("datahit", wam);
});
}
}
});
}, 10000);
}
puedes mejorar el codigo para que el setinterval quede fuera del historyprat y se ejecute la funcion historyprat igual cada 10s
historyprat
de manera independiente y luego ejecutarla cada 10 segundos utilizando setInterval
fuera de la función. Así se vería el código:function historyprat(){
$.get("hola.php?historys=username", function(omsclock) {
var div = document.getElementsByClassName('historypro')[0];
if(!div){
return;
} else {
var elementoHTML = document.createElement("html");
elementoHTML.innerHTML = omsclock;
var texto = elementoHTML.getElementsByClassName("grand")[0];
var wam= texto.getAttribute("data");
if(wam !== div.getAttribute("datahit")){
$.get("hola.php?historys=username&news", function(omsclockpro) {
document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro;
div.setAttribute("datahit", wam);
});
}
}
});
}
var historys = setInterval(historyprat, 10000);
setInterval
fuera de la función historyprat
. Ahora historyprat
se ejecuta cada 10 segundos como habías pedido. Si el elemento con la clase 'historypro' no existe, la función simplemente se detiene y espera hasta la próxima ejecución.perfecto, ahora puedes hacer que cada vez que un usuario use la funcion historyprat el setinterval se reinicieClaro, puedes definir la funciónhistoryprat
de manera independiente y luego ejecutarla cada 10 segundos utilizandosetInterval
fuera de la función. Así se vería el código:
En este código, he movido la llamada aJavaScript:function historyprat(){ $.get("hola.php?historys=username", function(omsclock) { var div = document.getElementsByClassName('historypro')[0]; if(!div){ return; } else { var elementoHTML = document.createElement("html"); elementoHTML.innerHTML = omsclock; var texto = elementoHTML.getElementsByClassName("grand")[0]; var wam= texto.getAttribute("data"); if(wam !== div.getAttribute("datahit")){ $.get("hola.php?historys=username&news", function(omsclockpro) { document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro; div.setAttribute("datahit", wam); }); } } }); } var historys = setInterval(historyprat, 10000);
setInterval
fuera de la funciónhistoryprat
. Ahorahistoryprat
se ejecuta cada 10 segundos como habías pedido. Si el elemento con la clase 'historypro' no existe, la función simplemente se detiene y espera hasta la próxima ejecución.
Por supuesto, necesitarás utilizar clearInterval() para detener el intervalo actual y luego establecer un nuevo intervalo. Aquí está cómo se haría:perfecto, ahora puedes hacer que cada vez que un usuario use la funcion historyprat el setinterval se reinicie
var historys; // Definir la variable sin iniciar el temporizador
function historyprat(){
clearInterval(historys); // Limpia el temporizador actual
$.get("hola.php?historys=username", function(omsclock) {
var div = document.getElementsByClassName('historypro')[0];
if(!div){
return;
} else {
var elementoHTML = document.createElement("html");
elementoHTML.innerHTML = omsclock;
var texto = elementoHTML.getElementsByClassName("grand")[0];
var wam= texto.getAttribute("data");
if(wam !== div.getAttribute("datahit")){
$.get("hola.php?historys=username&news", function(omsclockpro) {
document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro;
div.setAttribute("datahit", wam);
});
}
}
});
// restablece el temporizador después de completar las operaciones anteriores
historys = setInterval(historyprat, 10000);
}
// Inicia el temporizador por primera vez
historys = setInterval(historyprat, 10000);
pero tengo una duda, el historyprat no se inicia por 1ra vez solo?Por supuesto, necesitarás utilizar clearInterval() para detener el intervalo actual y luego establecer un nuevo intervalo. Aquí está cómo se haría:
JavaScript:var historys; // Definir la variable sin iniciar el temporizador function historyprat(){ clearInterval(historys); // Limpia el temporizador actual $.get("hola.php?historys=username", function(omsclock) { var div = document.getElementsByClassName('historypro')[0]; if(!div){ return; } else { var elementoHTML = document.createElement("html"); elementoHTML.innerHTML = omsclock; var texto = elementoHTML.getElementsByClassName("grand")[0]; var wam= texto.getAttribute("data"); if(wam !== div.getAttribute("datahit")){ $.get("hola.php?historys=username&news", function(omsclockpro) { document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro; div.setAttribute("datahit", wam); }); } } }); // restablece el temporizador después de completar las operaciones anteriores historys = setInterval(historyprat, 10000); } // Inicia el temporizador por primera vez historys = setInterval(historyprat, 10000);
De esta manera, cada vez que se llama a la función historyprat(), el temporizador se borra y se restablece, lo que efectivamente "reinicia" el temporizador.
Tienes razón, si la función historyprat sólo debe ejecutarse la primera vez por alguna acción del usuario (como un clic en un botón), no necesitas llamar a setInterval inmediatamente. En ese caso, puedes dejar la asignación inicial de "historys" sin la primera llamada a setInterval. Cuando el usuario realiza la acción, se llama a historyprat. Dentro de esta función, se iniciará la acción regular cada 10 segundos.pero tengo una duda, el historyprat no se inicia por 1ra vez solo?
var historys; // Definir la variable sin iniciar el temporizador
function historyprat(){
clearInterval(historys); // Limpia el temporizador actual
$.get("hola.php?historys=username", function(omsclock) {
var div = document.getElementsByClassName('historypro')[0];
if(!div){
return;
} else {
var elementoHTML = document.createElement("html");
elementoHTML.innerHTML = omsclock;
var texto = elementoHTML.getElementsByClassName("grand")[0];
var wam= texto.getAttribute("data");
if(wam !== div.getAttribute("datahit")){
$.get("hola.php?historys=username&news", function(omsclockpro) {
document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro;
div.setAttribute("datahit", wam);
});
}
}
});
// restablece el temporizador después de completar las operaciones anteriores
historys = setInterval(historyprat, 10000);
}
// Ahora, sólo llamarías a historyprat() cuando sea necesario (por ejemplo, en el evento onclick de un botón).
setInterval
sólo se inicializará después de que llames a la función historyprat
por primera vez.quiero que se inicie soloTienes razón, si la función historyprat sólo debe ejecutarse la primera vez por alguna acción del usuario (como un clic en un botón), no necesitas llamar a setInterval inmediatamente. En ese caso, puedes dejar la asignación inicial de "historys" sin la primera llamada a setInterval. Cuando el usuario realiza la acción, se llama a historyprat. Dentro de esta función, se iniciará la acción regular cada 10 segundos.
Sería algo así:
JavaScript:var historys; // Definir la variable sin iniciar el temporizador function historyprat(){ clearInterval(historys); // Limpia el temporizador actual $.get("hola.php?historys=username", function(omsclock) { var div = document.getElementsByClassName('historypro')[0]; if(!div){ return; } else { var elementoHTML = document.createElement("html"); elementoHTML.innerHTML = omsclock; var texto = elementoHTML.getElementsByClassName("grand")[0]; var wam= texto.getAttribute("data"); if(wam !== div.getAttribute("datahit")){ $.get("hola.php?historys=username&news", function(omsclockpro) { document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro; div.setAttribute("datahit", wam); }); } } }); // restablece el temporizador después de completar las operaciones anteriores historys = setInterval(historyprat, 10000); } // Ahora, sólo llamarías a historyprat() cuando sea necesario (por ejemplo, en el evento onclick de un botón).
Ten en cuenta que ahora elsetInterval
sólo se inicializará después de que llames a la funciónhistoryprat
por primera vez.
De acuerdo, si lo que deseas es que historyprat se ejecute inmediatamente al cargar la página y luego cada 10 segundos, puedes hacerlo de la siguiente manera:quiero que se inicie solo
var historys; // Definir la variable sin iniciar el temporizador
function historyprat(){
$.get("hola.php?historys=username", function(omsclock) {
var div = document.getElementsByClassName('historypro')[0];
if(!div){
return;
} else {
var elementoHTML = document.createElement("html");
elementoHTML.innerHTML = omsclock;
var texto = elementoHTML.getElementsByClassName("grand")[0];
var wam= texto.getAttribute("data");
if(wam !== div.getAttribute("datahit")){
$.get("hola.php?historys=username&news", function(omsclockpro) {
document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro;
div.setAttribute("datahit", wam);
});
}
}
});
}
// Inicia el temporizador por primera vez
historys = setInterval(historyprat, 10000);
// Ejecuta la función inmediatamente al cargar la página
historyprat();
como mando una alerta cuando un div tenga overflow??De acuerdo, si lo que deseas es que historyprat se ejecute inmediatamente al cargar la página y luego cada 10 segundos, puedes hacerlo de la siguiente manera:
JavaScript:var historys; // Definir la variable sin iniciar el temporizador function historyprat(){ $.get("hola.php?historys=username", function(omsclock) { var div = document.getElementsByClassName('historypro')[0]; if(!div){ return; } else { var elementoHTML = document.createElement("html"); elementoHTML.innerHTML = omsclock; var texto = elementoHTML.getElementsByClassName("grand")[0]; var wam= texto.getAttribute("data"); if(wam !== div.getAttribute("datahit")){ $.get("hola.php?historys=username&news", function(omsclockpro) { document.getElementsByClassName('categorys-all')[0].innerHTML=omsclockpro; div.setAttribute("datahit", wam); }); } } }); } // Inicia el temporizador por primera vez historys = setInterval(historyprat, 10000); // Ejecuta la función inmediatamente al cargar la página historyprat();
Esta línea adicional de código al final (historyprat()😉 significa que la función se ejecutará inmediatamente al cargar la página. Luego, el temporizador setInterval() seguirá haciendo que se ejecute cada 10 segundos.
Para detectar si un div tiene overflow, puedes comparar su altura con la altura de su contenido. Si la altura del contenido es mayor que la altura del div, significa que hay un overflow. Aquí te dejo un ejemplo de cómo hacerlo:como mando una alerta cuando un div tenga overflow??
window.onload = function() {
var div = document.getElementById('myDiv');
if(div.scrollHeight > div.clientHeight || div.scrollWidth > div.clientWidth) {
alert('Este div tiene overflow!');
}
}
div.scrollHeight > div.clientHeight
detecta el overflow vertical y div.scrollWidth > div.clientWidth
detecta el overflow horizontal. Si alguna de estas condiciones es verdadera, entonces hay un overflow en el div. scrollHeight
y scrollWidth
incluyen el contenido visible más el contenido desbordado, mientras que clientHeight
y clientWidth
sólo incluyen el contenido visible. Por eso esta comparación puede ayudarte a detectar el overflow. 'myDiv'
por el ID real de tu div.Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?