requerido


required

Buscador en tabla


<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Buscar en la tabla">
<table id="myTable" border="1">
  <thead>
    <tr>
      <th>Columna 1</th>
      <th>Columna 2</th>
      <th>Columna 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Dato 1</td>
      <td>Dato 2</td>
      <td>Dato 3</td>
    </tr>
    <tr>
      <td>Ejemplo 1</td>
      <td>Ejemplo 2</td>
      <td>Ejemplo 3</td>
    </tr>
  </tbody>
</table>








<script>
function myFunction() {
  var input, filter, table, tr, td, i, j, txtValue;
  input = document.getElementById("myInput");
  filter = input.value.toUpperCase();
  table = document.getElementById("myTable");
  tr = table.getElementsByTagName("tr");

  // Recorrer las filas desde la segunda (i = 1), para no ocultar el encabezado
  for (i = 1; i < tr.length; i++) {
    tr[i].style.display = "none"; // Ocultar todas inicialmente

    td = tr[i].getElementsByTagName("td");
    for (j = 0; j < td.length; j++) {
      if (td[j]) {
        txtValue = td[j].textContent || td[j].innerText;
        if (txtValue.toUpperCase().indexOf(filter) > -1) {
          tr[i].style.display = ""; // Mostrar si hay coincidencia
          break; // No es necesario seguir buscando en esa fila
        }
      }
    }
  }
}
</script>


Exportar Excel


header("Pragma: public");
header("Expires: 0");
$filename = "ReporteConcentradoVentas.xls";
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

		

Imprimir html


Código HTML:
<script language="Javascript">
function imprimir() {
print();
}
</script> 
Código HTML:
<body onLoad="imprimir();"> 

Interlineado


 style='line-height:10px;'>

Confirma elimina


<script language="javascript" type="text/javascript">
	function Confirma_Elimina(page){
		var c=confirm("Por favor confirmar la eliminación.");
		if(c){
			window.open(page,'_self');
		}
	}

</script>



<a href=\"javascript:Confirma_Elimina('modules/alta_bancos.php?v_id_banco=".$Datos['id_banco']."&v_proceso=2')\"><img src='images/b_drop.png' width='16' height='16' border='0' title='Elimina Cuenta' /></a>

Mostrar todos los errores



ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

No mostrar erroes


error_reporting(0);

Boton css


<input class="w3-btn w3-round-xxlarge" style=" width:150px; background-color:<?php echo $_SESSION['colorBoton']; ?>; color:#FFF" type="submit" value="Agregar" onclick="windows.top.hidePopWin()"  />

Tabla css


<tr style="background-color:<?php echo $_SESSION['colorTituloTabla'] ?>;color:<?php echo $_SESSION['colorTabla']; ?>">

Remplazar Codigo



á  é   í   ó   ú   ñ   Á  É   Í  Ó   Ú   Ñ
á é  í  ó  ú  ñ  Á  É  Í  Ó  Ú  Ñ


ejemplo:
UPDATE cliente SET empresa = REPLACE(empresa, 'á', 'á');

Crear Php


	mkdir("../comprobacion_asignacion/".$_POST[idSolicitud]."", 0777);
		$nuevoarchivo = fopen('../comprobacion_asignacion/'.$_POST[idSolicitud].'/index.php', "w+");
		fwrite($nuevoarchivo,"<?php header('location:../../index.php'); ?>");
		fclose($nuevoarchivo);	

Copiar codigo jquery



<table>
      <tr>
           <td onclick="Copiar(this)">Hola soy un texto que se copia al darle clic</td>
           <td onclick="Copiar(this)">Hola yo soy otro texto que se copia al darle clic</td>
      </tr>
</table>





function Copiar(element) {
       //creamos un input que nos ayudara a guardar el texto temporalmente
       var $temp = $("<input>");
       //lo agregamos a nuestro body
       $("body").append($temp);
       //agregamos en el atributo value del input el contenido html encontrado
       //en el td que se dio click
       //y seleccionamos el input temporal
       $temp.val($(element).html()).select();
       //ejecutamos la funcion de copiado
       document.execCommand("copy");
       //eliminamos el input temporal
       $temp.remove();
   }

Recargar shadowbox


este codigo recarga la pagina al cerrar  el ligbox, colocar en la pagina padre.

<!--Aqui inicia el lightbox-->
<link rel="stylesheet" type="text/css" href="shadowbox.css">
<script type="text/javascript" src="shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init({


   onClose:function(){window.location.reload(true); }

});

</script>

Pasar a Mayusculas




<script>
function mayus(e) {
    e.value = e.value.toUpperCase();
}
</script>



onkeyup="mayus(this);"

<input type="text" onkeyup="mayus(this);">
<input type="text" onkeyup="mayus(this);">

----------------------------------------------------
metodo 2



onKeyUp="document.getElementById(this.id).value=document.getElementById(this.id).value.toUpperCase()" 

Convertir string latin


convert(cast(convert(b.tutor using latin1) as binary) using utf8) AS tutor,


"<span style='text-transform: uppercase;'>".((htmlentities($nombre))."</span>";

Scroll suave


$(document).ready(function() {
  $('a[href^="#"]').click(function() {
    var destino = $(this.hash);
    if (destino.length == 0) {
      destino = $('a[name="' + this.hash.substr(1) + '"]');
    }
    if (destino.length == 0) {
      destino = $('html');
    }
    $('html, body').animate({ scrollTop: destino.offset().top }, 500);
    return false;
  });
});

Crear Indice en tablas


CREATE INDEX dx_fecha ON asignacion_horario (fecha);

Fondo hoja membretada



 <style>
        body {
            background-image: url('https://tsgsistema.com/images/fondoHojaMembretada.png');
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
        }
    </style>
    
    tamaño es 820 x 1139

Codigo cmd para hacer pem y ser de sello


x509 -inform DER -outform PEM -in aaa010101aaa_csd_01.cer -pubkey –out aaa010101aaa_csd_01.cer.pem

	pkcs8 –inform DER –in aaa010101aaa_csd_01.key –passin pass:a0123456789 –out aaa010101aaa_csd_01.key.pem

* Para leer el certificado e incrustarlo en el XML

	x509 –text –in aaa010101aaa_csd_01.cer.pem

Zona Horario en php


define('TIMEZONE', 'America/Mexico_City');
date_default_timezone_set('America/Mexico_City');
echo 'Zona horaria del servidor: ' . date_default_timezone_get();
echo 'Fecha y hora actual del servidor: ' . date('Y-m-d H:i:s');




para configurarlo en php.ini 
date.timezone = "America/Mexico_City"

Varibles v_proceso


if(isset($_POST["v_proceso"]))$v_proceso=$_POST["v_proceso"];
if(isset($_GET["v_proceso"]))$v_proceso=$_GET["v_proceso"];	
if(!isset($_POST["v_proceso"]) && !isset($_GET["v_proceso"])  )$v_proceso="";

Color deTabla por Varible


<tr style="background-color:<?php echo $_SESSION['colorTituloTabla'] ?>;color:<?php echo $_SESSION['colorTabla']; ?>">

Color de Boton por Varible


class="w3-btn w3-round-xxlarge" style=" width:150px; background-color:<?php echo $_SESSION['colorBoton']; ?>; color:#FFF" id="button"

Codificacion acentos BNI


ALTER TABLE ti_persona_c CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;



UPDATE ti_cliente_c SET TICLC_RAZON_SOCIAL = CONVERT(BINARY CONVERT(TICLC_RAZON_SOCIAL USING latin1) USING UTF8MB4);

Calcular cuantos dias faltan php


$fechaEntega2="2024-01-10";
$fecha_objetivo = new DateTime($fechaEntega2); // Fecha destino
$hoy = new DateTime(); // Fecha actual
$faltante="";
$diferencia = $hoy->diff($fecha_objetivo);
$faltante=$diferencia->days . " días.";

Mandar Correo con Libreria


//crear correo. poner contraseña .Farbe15- copiar codigo de carpeta phpmailer



// Incluir los archivos de PHPMailer
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
require 'PHPMailer-master/src/Exception.php';

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$mail = new PHPMailer(true);

try {
    // Configuración del servidor SMTP
    $mail->isSMTP();
    $mail->Host       = 'mail.terminatorfumigaciones.com.mx';  // Servidor SMTP (ejemplo: Gmail)
    $mail->SMTPAuth   = true;
    $mail->Username   = 'soporte@terminatorfumigaciones.com.mx'; // Tu correo
    $mail->Password   = '.Farbe2025';      // Tu contraseña o App Password
   $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
	$mail->Port = 465;
	
	
    // Configuración del correo
    $mail->setFrom('soporte@terminatorfumigaciones.com.mx', 'Terminator Fumigaciones');
    $mail->addAddress('terminatorfumigacionestxt@gmail.com', 'Terminator');
    $mail->Subject = 'Asunto del correo';
    $mail->Body    = $cuerpo;
    $mail->isHTML(true);

    // Enviar el correo
    $mail->send();
    echo 'Correo enviado con éxito.';
} catch (Exception $e) {
    echo "Error al enviar el correo: {$mail->ErrorInfo}";
}

Descargar Archivos

Ultimo Dia del mes


$ultimoDia = date("Y-m-t"); // Devuelve el último día del mes en formato YYYY-MM-DD
echo $ultimoDia;

Sesion que dure un año


<?php
// Duración de la sesión en segundos (1 año)
$lifetime = 365 * 24 * 60 * 60; 

// Configurar la cookie de sesión para que dure 1 año
session_set_cookie_params($lifetime);
ini_set('session.gc_maxlifetime', 31536000);
session_start();

?>


// o en .htaccess
php_value session.gc_maxlifetime 31536000
php_value session.cookie_lifetime 31536000

Quitar espacio de un campo


UPDATE tabla SET campo = RTRIM(campo);

input solo archivo pdf


<input type="file" id="fileInput" accept="application/pdf">

Traducir, remplaza texto del html


poner el codigo al final de cada archivo
<script>
document.body.innerHTML = document.body.innerHTML
    .replace(/Registrar Servicio/g, "Register Service")
	.replace(/Prestamo/g, "Loan")
	.replace(/Realizar Corte/g, "Make Cut")
	.replace(/Tablero de Control/g, "Control Board");
	
</script>

formato moneda sin Redondear


number_format($Datos['importe'], 5, '.', ',')

Filtrar paginar



<style>
#pagination button {
  padding: 4px 8px;       /* más pequeño que el valor por defecto */
  margin: 2px;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid #ccc;
  background-color: #f2f2f2;
  cursor: pointer;
}

#pagination button:disabled {
  background-color: #ddd;
  font-weight: bold;
}
</style>

 <table>
		 <tr>
		 <td>Buscar:</td>
		 <td>
<input type="text" id="myInput" style="width:400px" class='form-control' onkeyup="filterTable()" placeholder="Buscar...">
</td>
</tr>
</table>


<table  border="1" class="hoverTable">
		
  <thead>
    <tr>
      <th>#</th>
      <th>Empresa</th>
      <th>Contacto</th>
	  <th>Telefono</th>
	  <th>Celular</th>
	  
	  <th></th>
	  <th></th><th></th>
	  
    </tr>
  </thead>
   <tbody id="tableBody">
  <?php echo $v_proveedores?>

  </tbody>
</table>

		
<div id="pagination"></div>

<script>
let currentPage = 1;
const rowsPerPage = 4;
let filteredRows = [];

function getFilteredRows() {
  const input = document.getElementById("myInput").value.toUpperCase();
  const rows = Array.from(document.getElementById("tableBody").getElementsByTagName("tr"));

  if (!input) {
    return rows;
  }

  return rows.filter(row => {
    const cells = row.getElementsByTagName("td");
    for (let cell of cells) {
      const text = cell.textContent || cell.innerText;
      if (text.toUpperCase().indexOf(input) > -1) {
        return true;
      }
    }
    return false;
  });
}

function renderTablePage(page) {
  const start = (page - 1) * rowsPerPage;
  const end = start + rowsPerPage;

  const rows = filteredRows;

  rows.forEach((row, index) => {
    row.style.display = (index >= start && index < end) ? "" : "none";
  });

  currentPage = page;
  renderPagination();
}

function renderPagination() {
  const pagination = document.getElementById("pagination");
  pagination.innerHTML = "";

  const totalPages = Math.ceil(filteredRows.length / rowsPerPage);
  if (totalPages <= 1) return;

  for (let i = 1; i <= totalPages; i++) {
    const btn = document.createElement("button");
    btn.innerText = i;
    btn.onclick = () => renderTablePage(i);
    if (i === currentPage) btn.disabled = true;
    pagination.appendChild(btn);
  }
}

function filterTable() {
  const allRows = Array.from(document.getElementById("tableBody").getElementsByTagName("tr"));

  filteredRows = getFilteredRows();

  // Ocultar todas las filas primero
  allRows.forEach(row => row.style.display = "none");

  renderTablePage(1);
}

// Inicializar tabla al cargar
window.onload = () => {
  filteredRows = getFilteredRows(); // carga todos al inicio
  renderTablePage(1);
};
</script>

Imprimir generar pdf dompdf


require '../dompdf/autoload.inc.php';
use Dompdf\Dompdf;

// Crear una instancia de Dompdf
$dompdf = new Dompdf();
$dompdf->set_option('isRemoteEnabled', true);

// Definir el contenido HTML
$html = '<h1>Ejemplo de PDF</h1><p>Contenido generado dinámicamente.</p>';
$dompdf->loadHtml($html);

// Configurar el tamaño de papel y orientación
$dompdf->setPaper('A4', 'portrait');

// Renderizar el PDF
$dompdf->render();

// Mostrar el PDF en el navegador (sin descargar ni guardar en el servidor)
$dompdf->stream('documento.pdf', ['Attachment' => false]);
exit;
Descargar Archivos

Comprimir pdf en Windows masivo


crear una carpeta y meter el archivo .bat  instalar gswin64c 
Descargar Archivos

Volver a generar un indice consecutivo llave Primaria


SET @i := 0;

UPDATE modulos
SET id_modulo = (@i := @i + 1)
ORDER BY id_seccion;

Scrip para cron job


php -q /home/farbedc/public_html/telegram/index.php	

Optener ubicacion gps


<body onload="obtenerUbicacion()">


<tr>
        <td class="">*Latitud:</td>
        <td  ><input name="v_latitud" placeholder="" type="text" class="form-control" id="v_latitud" size="4" maxlength="50" /></td>
      </tr>
	  
	   <tr>
        <td class="">*Longitud:</td>
        <td  ><input name="v_longitud" placeholder="" type="text" class="form-control" id="v_longitud" size="20" maxlength="50" /></td>
		</tr>
		


 <script>
    function obtenerUbicacion() {
      if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(mostrarUbicacion);
      } else {
        alert('La geolocalización no es soportada por este navegador.');
      }
    }

    function mostrarUbicacion(position) {
	
      var latitude = position.coords.latitude;
      var longitude = position.coords.longitude;

      document.getElementById('v_latitud').value = latitude;
      document.getElementById('v_longitud').value = longitude;
    }
  </script>



Comprimir jpg en windows bat


Crear una carpeta con el archivo de compimir.bat y ejecutar. instalar ImageMagick-7.1.1-47-Q16-HDRI-x64-dll.exe
Descargar Archivos

Shadowbox


<!--Aqui inicia el lightbox-->

Subir foto y comprime la foto



$v_ruta_archivo="../vehiculo/";
	
if (empty($_FILES['v_foto1']['type'])) {
    // No hay archivo
} else {
    $nombreArc = strtolower($_FILES["v_foto1"]["name"]);
    
    $pos1 = strpos($nombreArc, 'pdf');
    $pos2 = strpos($nombreArc, 'jpg');
    $pos3 = strpos($nombreArc, 'png');
    $pos4 = strpos($nombreArc, 'jpeg');
    $pos5 = strpos($nombreArc, 'doc');
    $pos6 = strpos($nombreArc, 'docx');
    $extencion = "";
    
    // Verificar la extensión
    if ($pos1 !== false) {
        $edoExte = 1;
        $extencion = "pdf";
    }
    if ($pos2 !== false) {
        $edoExte = 2;
        $extencion = "jpg";
    }
    if ($pos3 !== false) {
        $edoExte = 3;
        $extencion = "png";
    }
    if ($pos4 !== false) {
        $edoExte = 4;
        $extencion = "jpeg";
    }
    if ($pos5 !== false) {
        $edoExte = 5;
        $extencion = "doc";
    }
    if ($pos6 !== false) {
        $edoExte = 6;
        $extencion = "docx";
    }
    
    $nombreArchi = date('Y_m_d_h_i_s') . "." . $extencion;
    $v_directorio_archivo = $v_ruta_archivo . $nombreArchi;
    $v_nombre_archivo = $nombreArchi;
    $v_tamano_archivo = $_FILES["v_foto1"]["size"];
    $v_tipo_archivo = $_FILES["v_foto1"]["type"];
    
    // Verificar el tipo de archivo y tamaño
    if (!((strpos($v_tipo_archivo, "jpg") || strpos($v_tipo_archivo, "jpeg") || strpos($v_tipo_archivo, "png")) && ($v_tamano_archivo < 10000000))) {
        $v_alert = "alert('Compruebe que el archivo sea JPG, JPEG, PNG y que el tamaño no exceda 10MB')";
    } else {
        // Si el archivo es una imagen JPG, PNG o JPEG, comprimirla
        if (strpos($v_tipo_archivo, "jpg") || strpos($v_tipo_archivo, "jpeg")) {
            $imagen = imagecreatefromjpeg($_FILES["v_foto1"]["tmp_name"]);
            // Comprimir la imagen a calidad 75 (puedes ajustar el valor entre 0 y 100)
            imagejpeg($imagen, $v_directorio_archivo, 75);  // Guardamos la imagen comprimida
            imagedestroy($imagen);
        } elseif (strpos($v_tipo_archivo, "png")) {
            $imagen = imagecreatefrompng($_FILES["v_foto1"]["tmp_name"]);
            // Comprimir la imagen (el nivel de compresión va de 0 a 9)
            imagepng($imagen, $v_directorio_archivo, 6);  // Guardamos la imagen comprimida
            imagedestroy($imagen);
        }
			$foto1=$v_nombre_archivo;

    }
}


guardar la foto con la variable foto1; 





         <form action="modules/carga_gasolina1.php"  method="post" enctype="multipart/form-data" name="FrontPage_Form1" id="FrontPage_Form1" onsubmit="return FrontPage_Form1_Validator(this)">
         <table>

  <tr>
                <td class="" ><div align="right">*FotoTiket</div></td>
				</tr>
				<tr>
                <td colspan="3"><div align="left" class="Estilo4">
                  <input name="v_foto1" type="file" class='form-control' accept="image/*"  required   id="v_foto1" size="33" />
                </div></td>
              </tr>
            </table>
            </form>
            
            

Validar Formulario


<script language="JavaScript" type="text/javascript"><!--
function FrontPage_Form1_Validator(theForm)
{
 
 
 //ESTE CODIGO BLOQUE EL BOTON EL INPUT SE DEBE DE LLAMAR id boton y name= boton
document.getElementById('boton').disabled=true;

  return (true);
}
//--></script>



<form method="post" onsubmit="return FrontPage_Form1_Validator(this)">

<input type='submit' id='boton' name='boton'>
</form>

Explore


<?php
$cadena = "1|2";

// Separar la cadena usando '|' como delimitador
$partes = explode("|", $cadena);

// Asignar a variables individuales
$var1 = $partes[0];
$var2 = $partes[1];

echo "Var1: $var1<br>";
echo "Var2: $var2<br>";
?>

Ajax


                                $.ajax({
					url: "ods.php",
					type: "post",
					data: "v_proceso=100&idServicio="+data[1],
					success: function(data)
						{
							$("#contFechas").html(data);
						}//suceess
					});//AJAX

Definir Zona horaria con php


//este codigo hasta arriba despues de iniciar sesion.
date_default_timezone_set('America/Mexico_City');





echo date("Y-m-d H:i:s");

Recarga Pagina





//recargar pagina con jquery
    location.reload();

//recargar pagina con javascript    
    location.reload(true);

Extractor de input


Extractor de input
Descargar Archivos

Ruta Absoluta


Ruta  Absoluta para cronjob   <?php

Convertir a Mayusculas php


$texto = "hola mundo";
$mayusculas = strtoupper($texto);

echo $mayusculas; // HOLA MUNDO

Poner 0 al inicio de un numero


$mes = 9;
$mesConCero = str_pad($mes, 2, "0", STR_PAD_LEFT);
echo $mesConCero; // 09

Deshabilitar boton, con jquery


<script>
$(function(){
	

			$("#txtOrden").keyup(function(){
			
				var txtOrden=$("#txtOrden").attr("value");
			
				
                $.ajax({
					url: "modules/alta_embudo.php",
					type: "post",
					data: "v_proceso=100&txtOrden="+txtOrden,
					success: function(data)
						{
						
							if(data==0){

								$("#button").removeAttr("disabled");

							}
							if(data==1){
								$("#button").attr("disabled", true);
							}
							
						}//suceess
					});//AJAX
					
					
			});

});
</script>

Inicializar indice de tabla


SET @i := 0;
UPDATE modulos
SET id_modulo = (@i := @i + 1);

Cambiar Fuente


entrar en esta liga https://fonts.google.com/

buscar la fuente pulsar get font  y pulsar "get embed font"

copiar liga de css y crear una clase 

ejemplo 
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap" rel="stylesheet">

<style>

.oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
</style>


<div class='oswald'></div>

Rellenar Con ceros


$numero = 25;
$numero_formateado = str_pad($numero, 4, "0", STR_PAD_LEFT);

echo $numero_formateado; // 0025

Eliminar un archivo del servidor


$archivo = 'ruta/del/archivo.txt';

if (file_exists($archivo)) {
    if (unlink($archivo)) {
        echo "Archivo eliminado correctamente.";
    } else {
        echo "No se pudo eliminar el archivo.";
    }
} else {
    echo "El archivo no existe.";
}

Exportar imagen


  <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>


 <button id="exportBtn" class="icono" title="Exportar como imagen">Exportar</button>
 
 <div id="contenedor">
  <div style="width:600px">
          <table width="600" id="miTabla"  class="table table-bordered table-hover table-striped"  >
          </table>
 </div>
 </div>
 
 
 
 
 
 
 
 <script>
    document.getElementById('exportBtn').addEventListener('click', function () {
      const elemento = document.getElementById('miTabla');

      // Opciones importantes:
      // - scale: 2 => mejora resolución final (retina)
      // - backgroundColor: null => si quieres conservar transparencia; usa 'white' para fondo blanco
      html2canvas(elemento, { scale: 2, backgroundColor: 'white', useCORS: true })
        .then(canvas => {
          // Crear enlace de descarga
          const link = document.createElement('a');
          link.download = 'tabla.png';
          link.href = canvas.toDataURL('image/png');
          link.click();
        })
        .catch(err => {
          console.error('Error generando imagen:', err);
          alert('No se pudo generar la imagen. Revisa consola.');
        });
    });
  </script>

Sumar Dias a una fecha en mysql


SELECT DATE_ADD('2025-02-01', INTERVAL 5 DAY) AS nueva_fecha;

Restar Dias a una fecha en mysql


SELECT DATE_SUB('2025-02-01', INTERVAL 3 DAY);