Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problemas al unir un script PHP en ajax

Estas en el tema de Problemas al unir un script PHP en ajax en el foro de Frameworks JS en Foros del Web. Tengo una consulta que anda perfectamente en php, estoy intentando meterme el mundo de Ajax, y todo funciona perfecto con frames y php; pero cuando ...
  #1 (permalink)  
Antiguo 29/11/2006, 11:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
Problemas al unir un script PHP en ajax

Tengo una consulta que anda perfectamente en php, estoy intentando meterme el mundo de Ajax, y todo funciona perfecto con frames y php; pero cuando quiero interactuar con ajax - php hay cosas de la consulta que no me despliega (creo que el problema viene por la actualizacion de la URL).

Pueden decirme cual es el problema; los codigos los puedo pasar si lo quieren ver el de php? o el de Ajax?, o los dos, bueno gracias a todos

Saludos
  #2 (permalink)  
Antiguo 30/11/2006, 16:59
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Hola, sería conveniente que nos dejes ver el código fuente tanto del servidor como del cliente. Puedes pegar solo la porción de código que te genera conflictos o no funciona como se espera.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 01/12/2006, 10:44
 
Fecha de Ingreso: agosto-2006
Mensajes: 388
Antigüedad: 17 años, 8 meses
Puntos: 0
bueno va el codigo de ajax y php

codigo de ajax:

Código:
// Documento JavaScript
// Esta función cargará las paginas
function llamarasincrono(url, id_contenedor){
var pagina_requerida = false
if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest()
} else if (window.ActiveXObject){ // pero si es IE
try {
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){ // en caso que sea una versión antigua
try{
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
pagina_requerida.onreadystatechange=function(){ // función de respuesta
cargarpagina(pagina_requerida, id_contenedor)
}
pagina_requerida.open('GET', url, true) // asignamos los métodos open y send
pagina_requerida.send(null)
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida, id_contenedor){
if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText
}
el codigo de php:

Código PHP:
<?php 
session_start
();
$carro=$_SESSION['carro'];
?>

<html>
<head>
<title>PRODUCTOS AGREGADOS AL CARRITO</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
.tit {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 9px;
    color: #FFFFFF;
}
.prod {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 9px;
    color: #333333;
}
h1 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 20px;
    color: #990000;
}
-->
</style>
</head>

<body>

<h1 align="center">Esta es su compra hasta el momento</h1>
<?php 
if($carro){
//si el carro no está vacío, mostramos los productos
?>
<table width="720" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr bgcolor="#333333" class="tit"> 
    <td width="105">Articulo</td>
    <td width="207">Precio</td>
    <td colspan="2" align="center">Cantidad de Unidades</td>
    <td width="100" align="center">Borrar</td>
    <td width="159" align="center">Actualizar</td>
  </tr>
  <?php
  $color
=array("#ffffff","#F0F0F0");
  
$contador=0;
  
//las 2 líneas anteriores sirven para hacer una tabla con colores alternos
  
$suma=0;
  
//antes de recorrer todos los valores de la matriz carro, ponemos a cero la variable $suma,
  //en la que iremos sumando los subtotales del costo de cada item por la cantidad de unidades que se especifiquen
   
foreach($carro as $k => $v){
   
//recorremos la matriz que tiene todos los valores del carro, calculamos el subtotal y el total
   
$subto=$v['cantidad']*$v['p_12'];
   
$suma=$suma+$subto;
   
$contador++;//este es el contador que usamos para los colores alternos

    
?>
  <form name="jp<?php echo $v['identificador'?>" method="post" action="agregacar.php?<?php echo SID ?>" id="jp<?php echo $v['identificador'?>">
    <tr bgcolor="<?php echo $color[$contador%2]; ?>" class='prod'> 
      <td><?php echo $v['articulo'?></td>
      <td><?php echo $v['p_12'?></td>
      <td width="43" align="center"><?php echo $v['cantidad'?></td>
      <td width="136" align="center"> 
        <input name="cantidad" type="text" id="cantidad" value="<?php echo $v['cantidad'?>" size="8">
        <input name="id" type="hidden" id="id" value="<?php echo $v['id'?>"> </td>
      <td align="center"><a href="borracar.php?<?php echo SID ?>&id=<?php echo $v['id'?>"><img src="trash.gif" width="12" height="14" border="0"></a></td>
      <td align="center"> 
        <input name="imageField" type="image" src="actualizar.gif" width="20" height="20" border="0"></td>
  </tr></form>
  <?php 
  
//por cada item creamos un formulario que submite a agregar producto y un link que permite eliminarlos
  
}?>
</table>
<div align="center"><span class="prod">Total de Artículos: <?php echo count($carro);
//el total de items va a ser igual a la cantidad de elementos que tenga la matriz $carro, valor que obtenemos con la
//función count o con sizeof
?></span> 
</div><br>
<div align="center"><span class="prod">Total: $<?php echo number_format($suma,2);
//mostramos el total de la variable $suma formateándola a 2 decimales
 
?></span> 
</div><br>
<div align="center"><span class="prod">Continuar la selección de productos</span> 
  <a href="centro.php?<?php echo SID;?>"><img src="continuar.gif" width="13" height="13" border="0"></a> 
</div>
<div align="center"><span class="prod">Confirmar Compra</span> 
  <a href="agregadatos.php?<?php echo SID;?>"><img src="continuar.gif" width="13" height="13" border="0"></a> 
</div>
 
<?php }else{ ?>
<p align="center"> <span class="prod">No hay productos seleccionados</span> <a href="centro.php?<?php echo SID;?>"><img src="continuar.gif" width="13" height="13" border="0"></a> 
  <?php }?>
</p>
</body>
</html>
Si el codigo de PHP lo ejecuto en una pagina afuera (o sea no en el contenido de cambio de AJAX, se ejecuta perfecto. Cuando llamo a la funcion de ajax llamarasincrono me muestra las cabezeras y el total pero no las lineas del carro.
Bueno gracias
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:41.