Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/06/2010, 08:08
xtremer
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: [AYUDA] PHP Script

No utilizo archivos adicionales.
El form que utilizo es el que ves a plena vista, y como vez estoy utilizando el method='post'
Las query que utilizo son las que menciono ahi también, no utilizo ningún archivo extra de ese mismo.

Utilizare lo del or die(""), por el momento se me había olvidado de recurrir a esto...

Tienes razón con respecto al valor array y al entero, lo coloque bien, pero de todas maneras nada, ni error me tiro dsp de colocar el or die("")

Por lo que voy a poner el script que cree yo desde 0, que lo entiendo mejor que el que postee recien.

Código:
<?
require("./conexion.php");
if(isset($_GET["page"])){ $page=$_GET["page"]; }else{ $page=0; }
$limit=10;
$mostrar_volver="";

if(!$_POST)
{
	echo ""
	."<form action='' method=post>"
	."<table cellpadding=0 cellspacing=0>"
	."<tr>"
	."<td align=center class=row1 width=40><strong>Cliente</strong></td>"
	."<td align=center class=row1 width=100><strong>Correo</strong></td>"	
	."<td align=center class=row1 width=50><strong>Importe</strong></td>"
	."</tr>"
	;
	$sql=mysql_query("SELECT * FROM pagos WHERE id>$page ORDER BY id ASC LIMIT $limit") or die ("Error: ".mysql_query());
	for($i=0;$x=mysql_fetch_array($sql);$i++)
	{
	$ID=$x[id];
	$ultima_fila=$x[id];
	$xcorreo1=substr($x[correo],0,2);
	$xcorreo2=substr($x[correo],3);

	echo ""
	."\n<input type=hidden name='id$ID' value='$x[id]'>"
	."\n<input type='hidden' name='x_importe$ID' value='$x[importe]'>"
	."\n<input type='hidden' name='x_correo$ID' value='$x[correo]'>"
	
	."<tr class='row2'>"
	."<td class='row3' align='center'>$ultima_fila</td>"
	."<td class='row3' align='center'><input type='hidden' name='p1_correo$ID' value='$xcorreo1'><input class='button3' type='text' name='p2_correo$ID' value='$xcorreo2'></td>"
	."<td class='row3' align='center'><input class='button2' style='width:40px;' type='text' name='importe$ID' value='$x[importe]'></td>"
	."</tr>"
	;
	}
	echo ""
	."<tr>"
	."<td colspan=10 align='center'><input type='submit' name='update' value='Actualizar'></td>"
	."</tr>"
	."</table>"
	."</form>"
	."<table>"
	."<tr>"
	."<td><a href='index.php?go=categorias&opcion=pagos&page=$ultima_fila'>Ver los 10 siguientes</a></td>"
	."</tr>"
	."</table><br>"
	;
}
else	
{
	$pagina=$_GET['page'];
	if($pagina){ $filas=($pagina+1); } else{ $filas=1; }
	echo "<table cellpadding=0 cellspacing=0 style='background-color:#EEE; border: solid 1px #222;'>";
	for($i=$filas;$i<=$ultima_fila;$i++)
    {
	$up_id=$_POST["id$i"];
	$up_correo=$_POST["p1_correo$i"]."-".$_POST["p2_correo$i"];
	$up_importe=$_POST["importe$i"];
	if($up_importe!=$_POST["x_importe$i"] or $up_correo!=$_POST["x_correo$i"]) // TEST
	{
		$sql=mysql_query("UPDATE pagos SET importe='$up_importe', correo='$up_correo' WHERE id=$up_id") or die ("Error: ".mysql_query());
		if($sql)
		{
		$mostrar_volver="SI";
				if($up_importe!=$_POST["x_importe$i"]){ $actualizado_1="IMPORTE"; }
				if($up_correo!=$_POST["x_correo$i"]){ $actualizado_2="CORREO"; }
				if($actualizado_1 && $actualizado_2){ $actualizado_1="IMPORTE,&nbsp;"; }
		echo "<tr><td align='left' style='padding:2px; border-bottom: solid 1px #222;'>Cliente <b>N°$i</b></td><td align='left' style='padding:2px;background-color:#b0ffb4; border: solid 1px #51b53d;'>Actualizado</td><td align='left' style='padding:2px;background-color:#fff; border: solid 1px #fff;'>$actualizado_1$actualizado_2</td></tr>";
		}
	}
	}
	if($mostrar_volver=="SI")
	{
	echo "<tr><td colspan='3' align='center' style='padding:3px;'><a href='index.php?go=categorias&opcion=pagos' style='text-decoration:none; color:red;'>Volver</a></td></tr>";
	}
	echo "</table>";
}
?>
Este script funciona casi al 100%, al colocar el if(!$_POST){ }else{} su funcionamiento ya no es el deseado.
Sin estos 2 condicionales, la modificación se realiza con éxito y muestra exactamente que registros se modificaron y que se modifico.
El problema es que no se muestra en la pantalla una actualización del registro modificado, sino que sige mostrando el registro viejo, y tengo q volver a entrar a la URL para verlo modificado. Y si utilizara un header() vería la modificación realizada, pero no vería la TABLA de que registros se modificaron xq redireccione la página

Quisiera poder utilizar la base que usaron en el SCRIPT de ese sitio, para usar esos 2 condicionales.
Poder ver que registro se modifico, y darle a "Volver" y ver el registro modificado.

Última edición por xtremer; 03/06/2010 a las 08:53