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 - iCoke

#1
Probaste validar que si él usuario ya esta registrado no permita duplicar él registro?
#2
Desarrollo Web / Re: aplicacion web de abm
9 Mayo 2019, 19:28 PM
necesitas saber algun lenguaje de backend como puede ser PHP, NODEJS,DJANGO, etc
tambien necesitas tener conocimientos basicos de bases de datos relacionales , como SQL.
sin dejar de lado la estructura basica de HTML5 para los formularios que sirven para introducir o modificar los registros existentes.
#3
buenas tardes, esto es lo que necesitabas?
vanilla JS
Código (javascript) [Seleccionar]


let input = document.getElementById("put");

input.addEventListener('keyup',(e)=>{
   if(event.which >= 37 && event.which <= 40){
       event.preventDefault();
     }
   let resultado = input.value.replace(/\D/g, "").replace(/([0-9])([0-9]{2})$/, '$1.$2').replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",");
   
   return input.value = resultado;
     
})


con JQuery
Código (javascript) [Seleccionar]

$('input.number').keyup(function(event) {


 if(event.which >= 37 && event.which <= 40){
   event.preventDefault();
 }

 $(this).val(function(index, value) {
   return value
     .replace(/\D/g, "")
     .replace(/([0-9])([0-9]{2})$/, '$1.$2')  
     .replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",")
   ;
 });


en estos casos use expresiones regulares, las cuales podes modificar para cambiar detalles, en el ejemplo que hice quedaría así "1,000.00"(para mil, con 00 centavos)
#4
si estas usando boostrap, no vas a poder, al menos que te pongas a borrar lineas del css lo cual dudo que quieras ponerte a hacer.

otra manera es hacerla vos mismo a mano , usando medidas estaticas como los px.
por ejemplo si tenes un contenedor le decis que su width sea de 1200px y nunca va a cambiar.
#5
Desarrollo Web / Re: css after hover
17 Abril 2019, 22:58 PM
https://codepen.io/NahuelJotandjota/pen/BEYbxE

te hice esto para que puedas estudiarlo, de todas maneras no creo  que sea la mejor decisión usar de fondo para un div una imagen, ya que es una mala practica para el SEO , ahora si las imagenes que estas usando son solo de adorno no hay problema.

Saludos.
#6
Depende de que ejecutes en él timer y de cuanto son los intervalos que le vas a asignar, en teoría solo la primera vez que se ejecuta él timer tendría que "costarle" luego para las demás veces ya estaria en cache.
#7
Hola a todos, les cuento tengo un problema y es que aveces el hosting en el que tengo la web tiene un tiempo de respuesta tardio, lo que produce el siguiente error:

Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] Connection timed out

exponiendo asi esta linea de codigo:

Código (php) [Seleccionar]

$link = new PDO("mysql:host=xxx.xxx.xxx.xxx;port=xxx;dbname=xxx","user","pass");


sé que tengo que crear un archivo config.php donde creo las variables con la contraseña y el usuario y luego hacer un include en donde finalmente creo la conexion,Pero en este caso estoy usando clases y estoy un poco perdido en como hacerlo, mi codigo es:

Código (php) [Seleccionar]

<?php
class Conexion{
      static public function 
conectar(){
            
$link = new PDO("mysql:host=xxx.xx.x.xx;port=3306;dbname=xxxx","usuario","pass");
            
$link->exec("set names utf8");

            return 
$link;

      }
}


como puedo hacer para no exponer la contraseña ? desde ya gracias ! :D
#8
Desarrollo Web / Fetch Api CRUD
6 Febrero 2019, 00:02 AM
Lo que estoy intentando es dejar de usar JQUERY para las consultas asincronas, para eso decidi usar la API Fetch de JS , mi problema consiste en que una vez devuelto los datos de la BD , a la tabla en la cual se muestran estos datos no le funciona el boton "EDITAR"


index.php aca listo los productos con sus respectivos botones EDITAR y ELIMINAR (FUNCIONAN)

[code=html4strict]<div id="verTablaPremium">Tabla Premium</div>
              <div class="contenedor_tabla">
                <table class="contenedor_tabla_table">
                  <tr>
                    <th>Foto</th>
                    <th>Nombre</th>
                    <th>Pack</th>
                    <th>Desc Menu</th>
                    <th>Desc Producto</th>
                    <th>Precio</th>
                    <th>Editar</th>
                    <th>Eliminar</th>
                  </tr>
                  <?php
                  $item 
null;
                  
$valor null;
                  
$cPacks ControladorPacks::ctrMostrarPacks($item,$valor);

                  foreach (
$cPacks as $key => $value) {
                        echo 
'<tr>
                              <td><img src="./vistas/img/packspremium/'
.$value["nombre"].'+'.$value["pack"].'/320/'.$value["foto"].'"></td>
                              <td>'
.$value["nombre"].'</td>
                              <td>'
.$value["pack"].'</td>
                              <td>'
.$value["descripcion"].'</td>
                              <td>'
.$value["descripciondos"].'</td>
                              <td>'
.$value["precio"].'</td>
                              <td><button class="botones__editar btnEditarPack"  idPack="'
.$value["id_premium"].'"> <i class="fas fa-pencil-alt"></i></button></td>
                              <td><button class="botones__eliminar btnEliminarBurguer" idBurguer="'
.$value["id_premium"].'" fotoBurguer="'.$value["foto"].'" nombreBurguer="'.$value["nombre"].'" pack="'.$value["pack"].'"> <i class="fas fa-trash-alt"></i></button> </td>
                              </tr>'
;
                  }
                  
$borrarBurguer = new ControladorPacks();
                  
$borrarBurguer -> ctrBorrarBurguer();
                  
?>

                </table>
[/code]


Luego en mi JS para hacer la llamada a la db tengo esto.

[code=javascript]var formulario = document.getElementById("formEnkel")
var tr = document.getElementById("refresh")
let boton = Array.from(document.querySelectorAll('.btnEditarPackEnkel'))

let evento = e =>{
  /* relleno el formulario del modal con los datos traidos de la BD */
  if(e.target.tagName == "I"){
    idPackEnkel = e.target.parentNode.getAttribute("idPackEnkel");
 
    let datos = new FormData(formulario);
 
    datos.append("idPackEnkel", idPackEnkel);
 
    //console.log(datos.get('idPackEnkel'))
 
    fetch("ajax/enkel.ajax.php",{
      method:"POST",
      body:datos
    })
    .then( res => res.json())
    .then( data => {
      document.getElementById('fotoActualBEnkel').value = data.foto
      document.getElementById('editarNombrePEnkel').value = data.nombre
      document.getElementById('editarDescripcionEnkel').value = data.descripcion
      document.getElementById('editarDescripcionDosEnkel').value = data.descripciondos
      document.getElementById('id_enkel').value = data.id_enkel
      document.getElementById('nombreActualEnkel').value = data.nombre
     
      if(data.foto != ""){
        document.querySelector('.previsualizarBEnkel').setAttribute("src","./vistas/img/packsenkel/"+data.nombre+"/320/"+data.foto+"")
      }
    })
  }
}


tr.addEventListener('click',evento,true);

   
/* CUANDO hago el submit traigo la respuesta de la db para llenar la tabla con los datos actualizados  */

formulario.addEventListener('submit',(e) =>{
  e.preventDefault();
  let datos = new FormData(formulario);

  fetch("ajax/submit.ajax.php",{
    method:"POST",
    body:datos
  })
  .then( res => res.text())
  .then(data =>{
   formulario.reset();
   tr.innerHTML = data;


  })

 
})
[/code]


SUBMIT.AJAX.PHP

[code=php]<?php

require_once "../controladores/enkel.controlador.php";
require_once 
"../modelos/enkel.modelo.php";

$e = new ControladorPacksEnkel();
$e->ctrEditarEnkel();
[/code]

en el controlador que devuelve todos los datos actualizados en cuestion tengo esto

[code=php]$respuesta = ModeloPacksEnkel::mdlEditarEnkel($tabla, $datos);

if($respuesta == "ok"){
  $item = null;
                  $valor = null;
  $ePacks = ControladorPacksEnkel::ctrMostrarPacksEnkel($item,$valor);
  echo ' <tr>
  <th>Foto</th>
  <th>Nombre</th>
  <th>Desc Menu</th>
  <th>Desc Prod</th>
  <th>Precio</th>
  <th>Editar</th>
  <th>Eliminar</th>
</tr>';
foreach ($ePacks as $key => $value) {
echo '<tr>

                              <td><img src="./vistas/img/packsenkel/'.$value["nombre"].'/320/'.$value["foto"].'"></td>
                              <td>'.$value["nombre"].'</td>
                              <td>'.$value["descripcion"].'</td>
                              <td>'.$value["descripciondos"].'</td>
                              <td>'.$value["precio"].'</td>
                              <td><button class="botones__editar btnEditarPackEnkel"  idPackEnkel="'.$value["id_enkel"].'"> <i class="fas fa-pencil-alt"></i></button></td>
                              <td><button class="botones__eliminar btnEliminarBurguerEnkel" idBurguerEnkel="'.$value["id_enkel"].'" fotoBurguerEnkel="'.$value["foto"].'" nombreBurguerEnkel="'.$value["nombre"].'"> <i class="fas fa-trash-alt"></i></button> </td>
  </tr>

  ';
  };

}
[/code]


repito, la primera vez que apreto en editar funciona, despues hago el submit, los datos se muestran perfectamente pero el boton editar no funciona, lei algo de la propagacion de eventos y que con jquery se soluciona con el evento " .ON ". pero no le encuentro la solucion , desde ya muchas gracias.
#9
no se si entendi bien, proba esto..

Código (javascript) [Seleccionar]
const detectarClick = (classBoton) => {
    let boton = Array.prototype.slice.apply(document.querySelectorAll(classBoton));

        boton.forEach(element => {
            element.addEventListener('click',()=>{
let msj = element.textContent
                  alert(`hiciste click en: ${msj}`);
                })
        });
         

 
}
detectarClick(".btn")
[/tt]

Código (html4strict) [Seleccionar]

<div id="botones">
  <button class="btn">boton 1</button>
  <button class="btn">boton 2</button>
  <button class="btn">boton 3</button>
  <button class="btn">boton 4</button>
</div>


si no es esto lo que buscas avisame, y pruebo de nuevo ajja saludos!
#10
tiraste tu web amigo? me gustaria ayudarte.