elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Desarrollo Web / Obtener id dinámico en jQuery en: 30 Mayo 2017, 23:17 pm
Buenas miren cargo una serie de productos desde una BD de la siguiente forma:
Código
  1. <?php
  2. /* .... */
  3.  
  4. while ($row = $stm->fetchAll(PDO::FETCH_ASSOC)) {
  5.   foreach($row as $producto){
  6. ?>
  7. <div class="item  col-xs-4 col-lg-4">
  8. <div class="thumbnail">
  9. <img class="group list-group-image" src="<?=$producto['img_producto']?>" alt="<?=$producto['nombre']?>" />
  10. <div class="caption">
  11. <h4 class="group inner list-group-item-heading">
  12. <?=$producto['nombre']?></h4>
  13. <p class="group inner list-group-item-text">
  14. <?=$producto['descripcion']?></p>
  15. <div class="row">
  16. <div class="col-xs-12 col-md-6">
  17. <p class="lead"><?=$producto['precio']?> €</p>
  18. </div>
  19. <?php
  20. error_reporting(E_ALL ^ E_NOTICE);
  21. if($_SESSION['conectado']!=="si"){
  22. ?>
  23. <div class="col-xs-12 col-md-6">
  24. <p  style="background:#FFD700;box-shadow: 1px 1px 5px #00288A;"class="group inner list-group-item-text">Para comprar <a style='color: black;' data-toggle="modal" href="#miModalIniSesion">Inicie Sesión</a> o <a style='color: black;' data-toggle="modal" href="#miModalReg">Registrese</a></p>
  25. </div>
  26. <?php }else if($_SESSION['conectado']=="si"){ ?>
  27. <div id='content' class="col-xs-12 col-md-6">
  28. <form id='formCarrito' method="post">
  29. Cantidad: <input type="number" id='cantidad' name="cantidad" placeholder="0" style="width: 50px;margin-bottom: 2px;">
  30. <input type="hidden" name="cod_producto" id='cod_producto' value="<?=$producto['id_producto']?>"><?=$producto['id_producto']?>
  31. <input type='submit' id='addCarritoBtn' name='addCarrito' class="btn btn-success" value='Añadir al Carrito'>
  32. <div id='response'></div>
  33. </form>
  34. </div>
  35. <?php }?>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <?php
  41. }

Alguien sabe como puedo hacer que dependiendo a que ítem pulses se envie esa cantidad por jQuery? por ahora tengo esto pero obviamente no funciona:
Código
  1. $('form').submit(function(){
  2. var cantidad=$("#cantidad").val();
  3. var cod=$("#cod_producto").val();
  4. alert(cantidad+cod);
  5. $.ajax({
  6. type:'POST',
  7. url:'php/Carrito.php',
  8. data:{
  9. id_producto:cod,
  10. cantidad:cantidad
  11. },
  12. success: function(data){
  13. alert(data);
  14. document.getElementById('response').innerHTML=data;
  15. }
  16. });
  17. });
  18.  
2  Programación / PHP / Creación de un paginador en: 28 Mayo 2017, 18:15 pm
Hola Buenas.
Estoy teniendo algunos problemas a la hora de realizar un paginador para una web. Las web las estoy pasando de esta forma en un índex. php
Código:

$pagina = isset($_GET['p']) ? strtolower($_GET['p']) : 'Home';
require_once 'php/header.php';
require_once 'php/' . $pagina . '.php';


Así bien en un nabab las voy haciendo referencia de esta manera:

Código:
<ul class="nav navbar-nav">
<li><a href="?p=Home"><span class='fa fa-home'></span> Home </a></li>
<li><a href="?p=Gafas_Graduadas">Gafas de Ver </a></li>
</ul>

Pues bien a la hora de realizar el navegador, tengo problemas con la url a pasar, lo estoy realizando de la siguiente forma:

Código:
<?php
//Clase con la conexión a la BD
include 'Conexion_a_BD.php';
$TAMANO_PAGINA = 10;

$pagina = $_GET["pagina"];
if (!$pagina) {
   $inicio = 0;
   $pagina=1;
} else {
    $inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
$query_gafasVer="SELECT * FROM productos WHERE tipo='Gafa_de_Ver'";
$resultado=$conex->query($query_gafasVer);
$num_resultados = $resultado->rowCount(PDO::FETCH_ASSOC);
$total_paginas = ceil($num_resultados / $TAMANO_PAGINA);

$consulta = "SELECT * FROM productos WHERE tipo='Gafa_de_Ver' ORDER BY Creado DESC LIMIT :inicio, :fin";
$stm  = $conex->prepare($consulta);
$stm->bindParam(':inicio', $inicio, PDO::PARAM_INT);
$stm->bindParam(':fin', $TAMANO_PAGINA, PDO::PARAM_INT);
$stm->execute();

while ($row = $stm->fetchAll(PDO::FETCH_ASSOC)) {
    foreach($row as $producto)
        //Contenido a mostrar
   }
}
if ($total_paginas > 1){
   for ($i=1;$i<=$total_paginas;$i++){
if ($pagina == $i) echo $pagina;
else    echo "<a href='?pagina=" . $i . "'>" . $i . "</a> ";
    }
}
?>

Alguien sabe que he de pasar en el ultimo href para que se realice correctamente la paginación? Estoy totalmente perdido.
3  Foros Generales / Dudas Generales / Re: Que lenguaje me recomendais para empezar? en: 22 Mayo 2017, 21:23 pm
Citar
Es mejor aprender lenguajes de manera secuencial o se lo puede hacer de manera paralela?, con aprender me refiero llegar a un nivel muy avanzado

Por ejemplo de manera paralela podrías aprender php, javascript,html y sql, básicos en el diseño web.

Si te quieres ya meter más en serio C++, Java o C# idénticos prácticamente, C.

También te recomiendo phyton que se utiliza en casi todas partes.

Si te sirve de guía yo empecé con C y Java.
4  Programación / Programación General / Problema con atributo z-index en: 22 Mayo 2017, 21:11 pm
Buenas, estaba creando una validación de errores cuando me he topado con el problema de que al mostrar un div como de error, me empuja hacia abajo los elementos del formulario, cuando me gustaría que este por encima de ellos, he utilizado el atributo z-index en el css pero no se realiza. Si alguien fuese tan amable de explicarme o decirme como solucionarlo, estaría encantado.
Muestro acá los códigos js,html y css:

HTML:
Código:
<tr>
<td>Contraseña:</td>
<td>
<input type='password' name='pwdIn' id='pwdIn' placeholder='Introduzca su contraseña'>
<div id="errorPwd" class="errorPass">
<h4>La contraseña debería cumplir los siguientes requisitos:</h4>
<ul>
<li id="largo" class="invalid">Debe tener almenos <strong>8</strong> caracteres.</li>
<li id="mayuscula" class="invalid">Debe contener almenos <strong>1 letra mayúscula</strong>.</li>
<li id="minuscula" class="invalid">Debe contener almenos <strong>1 letra minúscula</strong>.</li>
<li id="numero" class="invalid">Debe contener almenos <strong>1 número</strong>.</li>
</ul>
</div>
</td>
</tr>

JS:
Código:
function validarPwd(){
var valido;
if(!contraseña.val().match(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,}/g)){
valido=false;
}else{
valido=true;
}
return valido;
}
contraseña.focusin(function(){
contraseña.attr('style', 'background:#87CEEB');
});
contraseña.keyup(function(){
var pwd = contraseña.val();
        //validate the length
        if ( pwd.length < 8 ) {
            $('#largo').removeClass('valid').addClass('invalid');
        } else {
            $('#largo').removeClass('invalid').addClass('valid');
        }

        //validate letter
        if ( pwd.match(/[a-z]/) ) {
            $('#minuscula').removeClass('invalid').addClass('valid');
        } else {
            $('#minuscula').removeClass('valid').addClass('invalid');
        }

        //validate capital letter
        if ( pwd.match(/[A-Z]/) ) {
            $('#mayuscula').removeClass('invalid').addClass('valid');
        } else {
            $('#mayuscula').removeClass('valid').addClass('invalid');
        }

        //validate number
        if ( pwd.match(/\d/) ) {
            $('#numero').removeClass('invalid').addClass('valid');
        } else {
            $('#numero').removeClass('valid').addClass('invalid');
        }
$('#errorPwd').slideDown();
}).blur(function() {
if(validarPwd()===false){
contraseña.attr('style', 'border:3px solid #FF4A4A');
$('#errorPwd').show();
}else{
contraseña.attr('style', 'background:#E4FAD3');
$('#errorPwd').hide();
}
});

CSS:
Código:
.errorPass{
display: none;
width: 350px;
background: #000000;
border-radius: 5px;
color: white;
z-index: 1;
}
.invalid {
background:url(../imagenes/cancel.png) no-repeat 0 50%;
padding-left:22px;
line-height:24px;
color:#ec3f41;
}

.valid {
background-image:url(../imagenes/accept.png) no-repeat 0 50%;
padding-left:22px;
line-height:24px;
color:#3a7d34;
}
5  Programación / Ejercicios / Re: javascript método onClick(); en: 27 Febrero 2017, 01:36 am
Gracias por las correciones y ayudas. Saludos
6  Programación / Ejercicios / Re: javascript método onClick(); en: 26 Febrero 2017, 23:31 pm
Gracias resuelto del siguiente modo:
Código:
<script>
window.estado=0;
function verificador(estado)
{
if (estado==0)
{
alert("DESC");
window.estado++;
}
else if (estado==1)
{
alert("ASC");
window.estado=0;
}

}
</script>
<body>
<button onclick="verificador(estado);">PRUEBA</button>
</body>
7  Programación / Ejercicios / Re: javascript método onClick(); en: 26 Febrero 2017, 22:33 pm
Algún ejemplo por favor?, ya que lo intenté con variable global y tampoco me salió anteriormente.  :-[
8  Programación / Ejercicios / javascript método onClick(); en: 26 Febrero 2017, 21:41 pm
Buenas me gustaría saber una forma de conseguir que al pulsar un botón me devuelva por ejemplo 'a'. a continuación si pulso de nuevo que me devuelva 'b'. y repetir el proceso.
Todo ello en javascript lo he intentado de mil y una formas y ya me quedo sin ideas.
Pense esto pero obviamente no funciona.

Código:
<script>
function valor(values){
value=values.split(",");
for(var i=0;i<value.length;i++){
if (value=='A'){
var value='B';
}else if(value=='B'){
var value='A';
}
alert(value);
i++;
}
}
</script>
<body>
<input type="button" onClick="valor('ASC,DESC');" value="valor">
</body>
9  Programación / Desarrollo Web / Duda con jQuery, Ajax, PHP en: 24 Febrero 2017, 23:08 pm
Hola buenas tengo la siguiente duda. Necesito realizar una ordenación en orden ascendente o descendente de las columnas de una tabla cargada desde una BD.

Esta ordenación se realiza al pulsar sobre (por ejemplo) columna nombre. la primera vez seria orden ascendente y si volvemos a pulsar descendente.

El problema reside en que no consigo cambiar el valor de la query de ASC a DESC.

Por favor help me haha.

P.D: presento los trozos de código pertinentes.

jQuery:
Código:
function ordenacion(ordenacion){
if(tipo=="ASC"){
tipo="DESC";
}else{
tipo="ASC";
}
if(ordenacion=="tdUser"){
ordenar= "order by nombreUsuario "+tipo;
}if(ordenacion=="tdNombre"){
ordenar= "order by nombrePropio "+tipo;
}if(ordenacion=="tdApellidos"){
ordenar= "order by apellidos "+tipo;
}if(ordenacion=="tdDni"){
ordenar="order by DNI "+tipo;
}if(ordenacion=="tdFecha"){
ordenar="order by fechaNacimiento "+tipo;
}
enviarConsulta();
}

function enviarConsulta(){
var dataString=ordenar;
$.ajax({
type: "POST",
url: "colocarTabla.php",
data: {info : dataString},
success: function(data){
$("#mostrarTabla").html(data);
}
});
}

Php:
Código:
$ordenar=$_POST['info']??"";
$busqueda="SELECT * FROM  personas ".$ordenar;
$resultado = consulta($busqueda);
echo $busqueda;
$xml="<?xml version=\"1.0\"?>\n";
$xml.="<personas>";
while($dato=$resultado->fetch()){
$xml.= "<persona>";
$xml.= "<nombreUsuario>".$dato['nombreUsuario']."</nombreUsuario>";
$xml.= "<nombrePropio>".$dato['nombrePropio']."</nombrePropio>";
$xml.= "<apellidos>".$dato['apellidos']."</apellidos>";
$xml.= "<DNI>".$dato['DNI']."</DNI>";
$xml.= "<fechaNacimiento>".$dato['fechaNacimiento']."</fechaNacimiento>";
$xml.= "</persona>";
}
$xml.= "</personas>";
$personas=new SimpleXMLElement($xml);
?>

<table>
<tr>
<td><a id='tdUser' onClick="ordenacion('tdUser');">Usuario</a></td>
<td><a id='tdNombre' onClick="ordenacion('tdNombre');">Nombre</a></td>
<td><a id='tdApellidos' onClick="ordenacion('tdApellidos');">Apellidos</a></td>
<td><a id='tdDni' onClick="ordenacion('tdDni');">Dni</a></td>
<td><a id='tdFecha' onClick="ordenacion('tdFecha');">Fecha</a></td>
</tr>
<?php
foreach ($personas->persona as $fila){
echo "<tr><td>".$fila->nombreUsuario."</td>";
echo "<td>".$fila->nombrePropio."</td>";
echo "<td>".$fila->apellidos."</td>";
echo "<td>".$fila->DNI."</td>";
echo "<td>".$fila->fechaNacimiento."</td></tr>";
}
?>
</table>
10  Programación / Desarrollo Web / Conecta4 javascript en: 16 Diciembre 2016, 22:05 pm
Buenas tardes. Me pongo en contacto con el foro para intentar que me den alguna pista o alguna solución a el siguiente problema. Estoy realizando el juego del Conecta4 en javascript, pero a la hora de la comprobación de que encuentre 4 fichas juntas, mi cabeza explota y no consigue llegar a la solución.

Este es el código que tengo:

Index.html:
Código:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Conecta4</title>
</head>

<body>
<img id="tabFondo" src="Images/Tablero.png" alt="tablero" hidden="true">
<img id="rojas" src="Images/fichaRoja.png" alt="Ficha Roja" hidden="true">
<img id="amarillas" src="Images/fichaAmarilla.png" alt="Ficha Amarilla" hidden="true">
<canvas id="cnvTablero" style="border:1px solid blue;" onClick="tab.pinchar(event)"></canvas>
<script src="Tablero.js"></script>
<script src="Ficha.js"></script>
<script type="text/javascript">
var tab = new Tablero();
tab.mostrar();
</script>
</body>
</html>

Ficha.js :
Código
  1. function Ficha(color){
  2. "use strict";
  3. this.color=color;
  4.  
  5. if(this.color===R){
  6. this.imagen = document.getElementById("rojas");
  7. }else{
  8. this.imagen = document.getElementById("amarillas");
  9. }
  10. }
  11.  

Tablero.js:
Código
  1. const R = 1;
  2. const A = -1;
  3.  
  4. function Tablero(){
  5. "use strict";
  6. var altura = 6;
  7. var anchura = 7;
  8. var coincidencias=0;
  9.  
  10. this.imagen = document.getElementById("tabFondo");
  11. this.canvas = document.getElementById("cnvTablero");
  12. this.ctx = this.canvas.getContext("2d");
  13. this.canvas.width=anchura*100;
  14. this.fichas = new Array();
  15.  
  16. //Pintar tablero
  17. for(var i=0; i<anchura; i++){
  18. for(var j=0; j<altura; j++){
  19. this.ctx.drawImage(this.imagen, i*100, j*100);
  20. }
  21. }
  22.  
  23. //Inicializar el array bidimensional
  24. for(var i=0; i<anchura; i++){
  25. this.fichas[i] = new Array();
  26. for(var j=0; j<altura; j++){
  27. this.fichas[i][j] = undefined;
  28. }
  29. }
  30. this.jugador = R;
  31.  
  32.  
  33. this.pinchar=function(event){
  34. //Obtiene posicion del tablero
  35. var x =Math.floor((event.pageX - this.canvas.offsetLeft)/ 100);
  36. var y =Math.floor((event.pageY - this.canvas.offsetTop) / 100);
  37.  
  38. for(var i=altura-1; i>=0; i--){
  39. if(this.fichas[x][i] == undefined){
  40. this.fichas[x][i]=new Ficha(this.jugador);
  41. break;
  42. }
  43. }
  44. this.jugador = -this.jugador;
  45. this.mostrar();
  46. this.comprobar(x,y);
  47. };
  48.  
  49. this.mostrar=function(){
  50. for(var i=anchura-1; i>=0; i--){
  51. for(var j=altura-1; j>=0; j--){
  52. if(this.fichas[i][j] != undefined){
  53. this.ctx.drawImage(this.fichas[i][j].imagen, i*100, j*100);
  54. }
  55. }
  56. }
  57. };
  58.  
  59. this.comprobar=function(x,y){
  60. for(var i=0;i<anchura;i++){
  61.                             coincidencias=1;
  62. for(var j=0;j<altura;j++){
  63. if(this.fichas[i][j]!=undefined){
  64. //Comprobación Horizontal
  65. //Comprobación Vertical
  66. //Comprobación Diagonal Derecha a Izquierda y hacia Arriba
  67. //Comprobación Diagonal Izquierda a Derecha y hacia Abajo
  68. }
  69. }
  70. }
  71.  
  72. };
  73.  
  74. this.gameOver(coincidencias){
  75. if(coincidencias==4){
  76. if(this.jugador==R){
  77. alert("Gana Rojo");
  78. }else if(this.jugador==A){
  79. alert("Gana Amarillo");
  80. }
  81. }
  82. }
  83. }
  84.  

He probado realizar lo siguiente para la comprobación horizontal, pero no funciona correctamente:
Código
  1. this.comprobar=function(x,y){
  2. for(var i=0;i<anchura;i++){
  3. coincidencias=1;
  4. for(var j=0;j<altura;j++){
  5. if(this.fichas[i][j]!=undefined){
  6. //Comprobación Horizontal
  7. for(var a=i;a<=anchura;a++){
  8. var h=y;
  9. if(this.fichas[a][y]!=undefined && this.fichas[a][y]==this.jugador){
  10. coincidencias++;
  11. }else{
  12. coincidencias=1;
  13. }
  14. }
  15. //Comprobación Vertical
  16. //Comprobación Diagonal Derecha a Izquierda y hacia Arriba
  17. //Comprobación Diagonal Izquierda a Derecha y hacia Abajo
  18. }
  19. }
  20. }
  21.  
  22. };
  23.  
  24.  

Gracias de antemano. Saludos¡¡
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines