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

#1
Buenas miren cargo una serie de productos desde una BD de la siguiente forma:
Código (php) [Seleccionar]
<?php
/* .... */

while ($row $stm->fetchAll(PDO::FETCH_ASSOC)) {
   foreach($row as $producto){
?>

<div class="item  col-xs-4 col-lg-4">
<div class="thumbnail">
<img class="group list-group-image" src="<?=$producto['img_producto']?>" alt="<?=$producto['nombre']?>" />
<div class="caption">
<h4 class="group inner list-group-item-heading">
<?=$producto['nombre']?></h4>
<p class="group inner list-group-item-text">
<?=$producto['descripcion']?></p>
<div class="row">
<div class="col-xs-12 col-md-6">
<p class="lead"><?=$producto['precio']?> €</p>
</div>
<?php 
error_reporting(E_ALL E_NOTICE);
session_start();
if($_SESSION['conectado']!=="si"){
?>

<div class="col-xs-12 col-md-6">
<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>
</div>
<?php }else if($_SESSION['conectado']=="si"){ ?>
<div id='content' class="col-xs-12 col-md-6">
<form id='formCarrito' method="post">
Cantidad: <input type="number" id='cantidad' name="cantidad" placeholder="0" style="width: 50px;margin-bottom: 2px;">
<input type="hidden" name="cod_producto" id='cod_producto' value="<?=$producto['id_producto']?>"><?=$producto['id_producto']?>
<input type='submit' id='addCarritoBtn' name='addCarrito' class="btn btn-success" value='Añadir al Carrito'>
<div id='response'></div>
</form>
</div>
<?php }?>
</div>
</div>
</div>
</div>
<?php
}


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 (javascript) [Seleccionar]

$('form').submit(function(){
var cantidad=$("#cantidad").val();
var cod=$("#cod_producto").val();
alert(cantidad+cod);
$.ajax({
type:'POST',
url:'php/Carrito.php',
data:{
id_producto:cod,
cantidad:cantidad
},
success: function(data){
alert(data);
document.getElementById('response').innerHTML=data;
}
});
});
#2
PHP / Creación de un paginador
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


$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:


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


<?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'$inicioPDO::PARAM_INT); 
$stm->bindParam(':fin'$TAMANO_PAGINAPDO::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
CitarEs 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
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:

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

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:

.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
Ejercicios / Re: javascript método onClick();
27 Febrero 2017, 01:36 AM
Gracias por las correciones y ayudas. Saludos
#6
Ejercicios / Re: javascript método onClick();
26 Febrero 2017, 23:31 PM
Gracias resuelto del siguiente modo:

<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
Ejercicios / Re: javascript método onClick();
26 Febrero 2017, 22:33 PM
Algún ejemplo por favor?, ya que lo intenté con variable global y tampoco me salió anteriormente.  :-[
#8
Ejercicios / javascript método onClick();
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.


<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
Desarrollo Web / Duda con jQuery, Ajax, PHP
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:

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:

$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
Desarrollo Web / Conecta4 javascript
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:
<!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 (javascript) [Seleccionar]

function Ficha(color){
"use strict";
this.color=color;

if(this.color===R){
this.imagen = document.getElementById("rojas");
}else{
this.imagen = document.getElementById("amarillas");
}
}


Tablero.js:
Código (javascript) [Seleccionar]
const R = 1;
const A = -1;

function Tablero(){
"use strict";
var altura = 6;
var anchura = 7;
var coincidencias=0;

this.imagen = document.getElementById("tabFondo");
this.canvas = document.getElementById("cnvTablero");
this.ctx = this.canvas.getContext("2d");
this.canvas.width=anchura*100;
this.fichas = new Array();

//Pintar tablero
for(var i=0; i<anchura; i++){
for(var j=0; j<altura; j++){
this.ctx.drawImage(this.imagen, i*100, j*100);
}
}

//Inicializar el array bidimensional
for(var i=0; i<anchura; i++){
this.fichas[i] = new Array();
for(var j=0; j<altura; j++){
this.fichas[i][j] = undefined;
}
}
this.jugador = R;


this.pinchar=function(event){
//Obtiene posicion del tablero
var x =Math.floor((event.pageX - this.canvas.offsetLeft)/ 100);
var y =Math.floor((event.pageY - this.canvas.offsetTop) / 100);

for(var i=altura-1; i>=0; i--){
if(this.fichas[x][i] == undefined){
this.fichas[x][i]=new Ficha(this.jugador);
break;
}
}
this.jugador = -this.jugador;
this.mostrar();
this.comprobar(x,y);
};

this.mostrar=function(){
for(var i=anchura-1; i>=0; i--){
for(var j=altura-1; j>=0; j--){
if(this.fichas[i][j] != undefined){
this.ctx.drawImage(this.fichas[i][j].imagen, i*100, j*100);
}
}
}
};

this.comprobar=function(x,y){
for(var i=0;i<anchura;i++){
                             coincidencias=1;
for(var j=0;j<altura;j++){
if(this.fichas[i][j]!=undefined){
//Comprobación Horizontal
//Comprobación Vertical
//Comprobación Diagonal Derecha a Izquierda y hacia Arriba
//Comprobación Diagonal Izquierda a Derecha y hacia Abajo
}
}
}

};

this.gameOver(coincidencias){
if(coincidencias==4){
if(this.jugador==R){
alert("Gana Rojo");
}else if(this.jugador==A){
alert("Gana Amarillo");
}
}
}
}


He probado realizar lo siguiente para la comprobación horizontal, pero no funciona correctamente:
Código (javascript) [Seleccionar]

this.comprobar=function(x,y){
for(var i=0;i<anchura;i++){
coincidencias=1;
for(var j=0;j<altura;j++){
if(this.fichas[i][j]!=undefined){
//Comprobación Horizontal
for(var a=i;a<=anchura;a++){
var h=y;
if(this.fichas[a][y]!=undefined && this.fichas[a][y]==this.jugador){
coincidencias++;
}else{
coincidencias=1;
}
}
//Comprobación Vertical
//Comprobación Diagonal Derecha a Izquierda y hacia Arriba
//Comprobación Diagonal Izquierda a Derecha y hacia Abajo
}
}
}

};



Gracias de antemano. Saludos¡¡