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

Tabla dinamica con ajax!!!

Estas en el tema de Tabla dinamica con ajax!!! en el foro de Frameworks JS en Foros del Web. buenos dias de verdad que e intentado realizar esto por mi cuenta y nada que me sale mucho sabria agradecer su ayuda para hecharles el ...
  #1 (permalink)  
Antiguo 13/02/2009, 10:04
 
Fecha de Ingreso: febrero-2009
Mensajes: 12
Antigüedad: 15 años, 2 meses
Puntos: 1
Tabla dinamica con ajax!!!

buenos dias de verdad que e intentado realizar esto por mi cuenta y nada que me sale mucho sabria agradecer su ayuda para hecharles el cuento rapido necesito agregar una lista de productos a una tabla cada vez que le de clic a un boton el se dirige a otra pagina busca si ya tengo otros productos guardados por medio de una matriz que tengo en session y la recorre y va mostrando y guardando el nuevo el problema es que va guardando mal los valores y la matriz los repite se comporta muy raro en estos momentos no soy muy ducho en php y de verdad que la matriz no se comporta como deberia ser aqui les dejo el codigo que tengo son 2 archivos el primero llama al otro:

AgregarDetalle
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function cargar(e,url){
var contenedor;
contenedor = document.getElementById(e);
ajax=objetoAjax();
ajax.open("GET", url);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
contenedor.innerHTML = ajax.responseText
}
}
ajax.send(null)
}
</script>
<body>
<table align="center" border="0" width="100%">
<tr bgcolor="#E6E0E0" valign="top">
<td rowspan="2" height="768px">

</td>
</tr>
<tr>
<td width="758px" valign="top">
<table align="center" border="0" width="758px">
<tr valign="top">
<td height="80" class="tituloPrincipal" align="center">
</td>
</tr>
</table>
<form name="form" action="../../clases/CTRL/RequisicionDetCTRL.php" method="post">
<div id="contenedor">
<table border="0" align="center">
<tr>
<td colspan="2" class="subtitulo" align="center">
Agregar Detalle Requisici&oacute;n
</td>
<td>
<td class="formulario">
Producto
</td>
<td>
<select id="sltc_nomproducto" name="sltc_nomproducto">
<option value="0">"-- Seleccione --"</option>
<option value="14">Boligrafos </option>
<option value="5">Computadoras </option>
<option value="19">Jabon en polvo </option>
<option value="13">Lapices </option>
<option value="18">Leche condensada </option>
<option value="11">Porta Retrato </option>
<option value="15">Telefono </option>
<option value="3">cornetas </option>
<option value="9">jugos naturales naranja </option>
</select>
</td>
</td>
<td>
<td class="formulario">
Cantidad
</td>
<td>
<input type="text" name="c_cantidad" size="3" value="">
</td>

</td>
<td>
<input class="boton" type="button" value="Agregar a Lista" onclick="javascript:cargar('contenedor2','AgregDin Detalle.php?vProd='+document.form.sltc_nomproducto .value+'&vCant='+document.form.c_cantidad.value);" >
</td>
<tr valign="top">
<tr>
<td colspan="2">
</td>
</tr>
</table>
</div>
<div id="contenedor2">
<table align="center" border="0" width="60%" cellpadding="3" cellspacing="3">
<tr>
<td class="resultado" bgcolor="#DAD6D6" align="center" width="90%">
Producto
</td>
<td class="resultado" bgcolor="#DAD6D6" align="center" width="90%">
Cantidad
</td>
<td class="resultado" bgcolor="#DAD6D6" align="center">
Eliminar
</td>
</tr>

<tr>
<td class='formulario' bgcolor='#F6eded'>&nbsp</td>
<td class='formulario' bgcolor='#F6eded'></td>
<td class='formulario' bgcolor='#F6eded'></td>
</tr>
</table>
</div>
<table align="center" border="0" width="60%">
<tr><td> </td></tr>
<tr><td align=center><input class="boton" type="submit" value="Guardar"></td></tr>
</table>
<td rowspan="2" bgcolor="#E6E0E0">
</td>
</form>
</td>
</tr>
</table>
</body>
</html>

AgregDinDetalle
$producto=reque st de la variable "vProd"
$cantidad=reque s t de la variable "vCant"
hago el session start

<?php

$i=0;
$cont=count($_SESSION['$p roduct'])+1;?>
<form name="form" method="post">
<?php for ($j=1; $j <= count ($_SESSION['$pr oduct']) ; $j++) {
?>
<tr>
<td class='formulario' bgcolor='#F6eded'><?php echo $_SESSION['$pr oduct'][$j][1] ?></td>
<td class='formulario' bgcolor='#F6eded'><?php echo $_SESSION['$p roduct'][$j][3] ?></td>
<input type="hidden" id="txtidproducto<?=$i?>" name="txtidproducto<?=$i?>" value="<?=$_SESSION['$pr oduct'][$j][1] ?>">
<input type="hidden" id="txtcantidprod<?=$i?>" name="txtcantidprod<?=$i?>" value="<?=$_SESSION['$p roduct'][$j][3] ?>">
<input type="hidden" id="txtnroindice<?=$i?>" name="txtnroindice<?=$i?>" value="<?=$i?>">
<?}?>
</tr>

<?php
}
$i++;
?>
<tr>
<td class='formulario' bgcolor='#F6eded'><?php echo $nomproduc ?></td>
<td class='formulario' bgcolor='#F6eded'><?php echo $cantidad ?></td>
</table>
</form>

<?php

$_SESSION['$product'][$cont][1] = $producto;
$_SESSION['$product'][$cont][2] = $nomproduc;
$_SESSION['$product'][$cont][3] = $cantidad;
$_SESSION['$product'][$cont][4] = $cont;
?>

cuando reviso la matriz tiene duplicado los productos y cada vez que agrego a la lista
porfavor ya son varias veces que pongo una pregunta y nadie contesta espero que la gente que sea ducha en el tema me de alguna solucion gracias
  #2 (permalink)  
Antiguo 21/02/2009, 16:34
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Respuesta: Tabla dinamica con ajax!!!

Asumo que usas dos archivos cierto??, uno de vista donde muestras tu tabla, y otra el php que hace de tu controller y model para devolver los datos...
Primero unos detallitos:
Código:
<td class='formulario' bgcolor='#F6eded'><?php echo $_SESSION['$product'][$j][1] ?></td>
A esta linea le falta algo!!!{;}
Código:
<?=$i?>
Esta forma de impresion ocasionara problemas en servidores compatibles con php 5, asi que es preferible usarlo asi:
Código:
<?php echo $i; ?>
Un poco mas largo pero mas entendible y sobre todo te evitara menos dolores de cabezas.
Bien ahora con tu session me parece que podrias usar la siguiente estructura:
Código:
data['key'][fila][columna]
Que en php seria asi:
Código PHP:
$_SESSION['cesta'][0][1]='algo'
o
Código PHP:
$_SESSION['cesta'][0]['producto']='algo'
Te recomendaria el segundo, quedando asi un ejemplo:
Código PHP:
    $_SESSION['cesta'][0]['product']='PHP';
    
$_SESSION['cesta'][0]['cantidad']=4;
    
$_SESSION['cesta'][0]['importe']='50.00';
    
    
$_SESSION['cesta'][1]['product']='JAVA';
        
$_SESSION['cesta'][1]['cantidad']=2;
    
$_SESSION['cesta'][1]['importe']='70.00'
Bueno espereo te sirva saludos...
PSDT: Usa nombre de variables mas adecuados:{$i}=> no indica para que se utilizara, aunque tu a simple vista lo veas, pero ten en cuenta que no siempre escribirás códigos de 100 lineas, habrá momentos donde escribas 509, 1000, 2000, etc, entonces ya no sera legible ese nombre de variable, bueno todo esto es para ir por buen camino, saludos :)
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #3 (permalink)  
Antiguo 27/02/2009, 08:42
 
Fecha de Ingreso: febrero-2009
Mensajes: 12
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Tabla dinamica con ajax!!!

compañero de verdad que quiero agradecerte por tu ayuda solo quiero comentarte alguito:
1) tienes razon utilizo dos archivos se llaman como lo puse arriba aunque puede ser que no se note bien AgregarDetalle.php y AgregarDindetalle.php
2) realice tus cambios al ver tu respues en cuanto a lo del punto y coma y lo del echo en el indice y a simple vista parece que me arreglo mi problema tengo que probarlo mas mil gracias por eso porque de verdad no sabia lo del problema en php5 no recuerdo ahorita si lo comente en un principio pero este codigo me funcionaba bien en unas maquinas y en otras no eso era loque me tenia cabezon!!!
3) con respecto a la forma que me indicastes para utilizar las matrices en sesion precisamente de la manera que me recomiendas es como lo estoy utilizando la diferencia es que tu fuistes mas especifico al hacer referencia a los valores en cambio yo los ponia como 1,2,3,4
4) con respecto a lo del $i tambien te doy un 50% la razon jejejeje no dicen mucho pero en mi forma de programar todo lo que es un indice le pongo o "i" o "j" y como no lo utilizo para otra cosa por eso no le pongo un nombre distintivo y mas si realizo varios ciclos no creo conveniente crear distintas variables para esos ciclos cuando solo me van ayudar a incrementarlos y nada mas
5) thanks por tu ayuda y colaboracion voy a seguir probandolo a ver si no se me comporta de la misma manera anteriormente por ultimo dejame comentarte a ti y a todo aquel que tenga problema de este estilo yo lo intente de solucionar con ajax porque digamos que fue la manera mas directa que encontre en desarrollarlo sin embargo un experto en la materia me comento que como yo tenia toda la informacion en mi pagina no debi utilizar ajax esto se hacia para cosas que necesitaran conectarse con un servidor y traerme informacion que debi utilizar dhtml o jquery ahi les dejo esa bombita para quien la quiera tomar
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 12:08.