Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2013, 12:51
eduardodp
 
Fecha de Ingreso: diciembre-2012
Ubicación: Puebla
Mensajes: 34
Antigüedad: 12 años, 2 meses
Puntos: 1
actulizar imagen con ajax con php y mysql

Hola ya habia posteado esto antes pero mas complicado ahora lo boy a simplificar bueno tengo una consulta en la que muestro los productos de una bd y junto a ellos una imagen que tiene que cambiar al darle click por ejemplo por defecto tiene la imagen de agregar y quiero que al darle clic se cmbie solo la imagen de agregar a la de quitar y viceversa utilizo dos paginas de php con las imagenes
bueno como ya habia posteado esto antes me recomendaron estudiar ajax asi que lo hice y trate de haerlo pero el problema esta que solo actuliza la imagen de el primer resultado y en todas las demas me cambia de pagina ademas de que en en el primer resultado al cambiar la imagen y volverle a clickear me cambia de pagina bueno les dejo mi codigo.
Gracias por sus respuestas
Nota: Tengo que usar php por que mas adelante boy a meter funciones
Código HTML:
<html>
<head>
<title>Problema</title>
<script src="funciones.js" language="JavaScript"></script>
<link rel="StyleSheet" href="estilos.css" type="text/css">
</head>
<body>
<h1>agregar</h1>
<div id="menu">
<?php include("conex.php");  
$con=mysql_query("select descripcion from productos order by descripcion");
while($res=mysql_fetch_array($con)){
?>
<p><?php echo $res['descripcion'];?><div id="detalles"><a id="enlace1" href="pagina1.php?cod=1"><img src="../images/add.png" width="32" height="32"></a></div></p>
<?php }?>

</div>
</body>
</html> 
y en php dos paginas con las imagenes a cambiar
Pagina1
Código PHP:
<?php
header
('Content-Type: text/html; charset=ISO-8859-1');
if (
$_REQUEST['cod']==1){?>
 <a id='enlace1' href='pagina2.php?cod=2'><img src="../images/quitar.png" width="16" height="16" /></a>
  <?php }
Pagina 2
Código PHP:
<?php 
if($_REQUEST['cod']==2){?>
<a id="enlace1" href="pagina1.php?cod=1"><img src="../images/add.png" width="32" height="32" /></a>
<?php ?>
y por ultimo el condigo ajax
Código:
addEvent(window,'load',inicializarEventos,false);

function inicializarEventos()
{
  var ob;
  for(f=1;f<=1000;f++)
  {
    ob=document.getElementById('enlace'+f);
    addEvent(ob,'click',presionEnlace,false);
  }
}

function presionEnlace(e)
{
  if (window.event)
  {
    window.event.returnValue=false;
    var url=window.event.srcElement.getAttribute('href');
    cargarHoroscopo(url);     
  }
  else
    if (e)
    {
      e.preventDefault();
      var url=e.target.getAttribute('href');
      cambiaricono(url);     
    }
}


var conexion1;
function cambiaricono(url) 
{
  if(url=='')
  {
    return;
  }
  conexion1=crearXMLHttpRequest();
  conexion1.onreadystatechange = procesarEventos;
  conexion1.open("GET", url, true);
  conexion1.send(null);
}

function procesarEventos()
{
  var detalles = document.getElementById("detalles");
  if(conexion1.readyState == 4)
  {
    detalles.innerHTML = conexion1.responseText;
  } 
  else 
  {
    detalles.innerHTML = 'Cargando...';
  }
}

function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else  
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      return true;
    }
    else
      return false;
}

function crearXMLHttpRequest() 
{
  var xmlHttp=null;
  if (window.ActiveXObject) 
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  else 
    if (window.XMLHttpRequest) 
      xmlHttp = new XMLHttpRequest();
  return xmlHttp;
}