Foros del Web » Programando para Internet » PHP »

[AYUDA] PHP Script

Estas en el tema de [AYUDA] PHP Script en el foro de PHP en Foros del Web. Realizo un segundo POST, para no confundir las cosas... Encontre el tutorial donde realizaba muchas modificaciones de registros de MYSQL. Directamente copie el código, lo ...
  #1 (permalink)  
Antiguo 02/06/2010, 21:00
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 0
Exclamación [AYUDA] PHP Script

Realizo un segundo POST, para no confundir las cosas...

Encontre el tutorial donde realizaba muchas modificaciones de registros de MYSQL.
Directamente copie el código, lo mejoré, lo acorté, y puse lo que me parecia necesario para mí.
Me aparecen los datos, pero al intentar cambiarlos y actualizarlos, pero no lo actualiza esos datos, y queda la pantalla en blanco, por lo que no efectua la operacion deseada.
Nosé como solucionarlo, me dan alguna idea o solución.

URL del tutorial:
http://www.desarrolloweb.com/articulos/2395.php

Código:
<?
if (!$_POST)
{
   if (isset($_GET["id_mostrar"])){ $id_mostrar = $_GET["id_mostrar"]; } else{ $id_mostrar = 0; }
	$sql=mysql_query("SELECT * FROM pagos WHERE id>$id_mostrar ORDER BY id ASC LIMIT 10");
   echo "<form action='' method=post>";
   echo "\n<table align=center>";
   echo "\n<tr><td><b>Correo</b></td><td><b>Importe</b></td></tr>";
   for($i=0;$fila=mysql_fetch_array($sql);$i++)
   {
	$test=$fila[id];
      echo "\n<input type=hidden name='id$test' value='" . $fila["id"] . "'>";
      echo "<tr>";
      echo "<td>$fila[correo]</td>";
      echo "<td><input type=text name='importe$test' value='$fila[importe]'></td>";
      echo "</tr>";
      $ultimo_mostrado = $fila["id"];
   }

   echo "\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></td></tr>";
   echo "\n</table>";
   echo "\n</form>";

   if (isset($ultimo_mostrado)){ echo "\n<br><a href='index.php?go=categorias&opcion=pagos&id_mostrar=" . $ultimo_mostrado . "'>Ver los 10 siguientes</a>"; }
}
else
{
	for($x=0;$i=mysql_fetch_array($sql);$x++)
   {
      if (isset($_POST["id" . $i]))
	  {
	  	 $id=$x[id];
         $importe = $_POST["importe" . $i];
	$sql=mysql_query("UPDATE pagos SET importe='$importe' WHERE id=$id");
		if($sql){ echo "<br>Actualizado con éxito"; }else{ echo "<br>NO actualizado"; }
      }
   }
echo "\n<p><a href='index.php?go=categorias&opcion=pagos'>Volver</a>";
}
?>
El código de fuente:
Código:
<input type=hidden name='id49' value='49'><tr><td>[email protected]</td><td><input type=text name='importe49' value='0.00'></td></tr>

<input type=hidden name='id54' value='54'><tr><td>[email protected]</td><td><input type=text name='importe54' value='0.00'></td></tr>
<input type=hidden name='id55' value='55'><tr><td>[email protected]</td><td><input type=text name='importe55' value='0.00'></td></tr>
  #2 (permalink)  
Antiguo 02/06/2010, 21:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: [AYUDA] PHP Script

Saludos
Pregunto, usas archivos adicionales?
.html? imagino que usas un form, que method tiene?
sería bueno también que adjuntaras los querys de creación
de tabla que estas usando para realizar pruebas

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 02/06/2010, 23:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: [AYUDA] PHP Script

Código PHP:
Ver original
  1. for($x=0;$i=mysql_fetch_array($sql);$x++) {
  2.     // $i contiene los campos leidos de la base de datos
  3.     // $i no es un entero, sino array, por lo tanto, todo lo que sigue esta mal
  4.     if (isset($_POST["id" . $i])) {
  5.         // $x es entero, no array
  6.         $id=$x[id];
  7.                 $importe = $_POST["importe" . $i];
  8.         $sql=mysql_query("UPDATE pagos SET importe='$importe' WHERE id=$id");
  9.         if($sql) {
  10.                 echo "<br>Actualizado con éxito";
  11.         } else {
  12.                 echo "<br>NO actualizado";
  13.         }
  14.     }
  15. }

Siempre que realices una consulta asegurate de saber cual es el error cuando no funciona:
mysql_query('aqui la consulta') or die('Error ejecutando la consulta: ' . mysql_query());

Si tienes buena validacion de los datos ingresados, solo veras el mensaje de error cuando haya errores de sintaxis, campos/tablas inexistentes, etc. en la consulta misma.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 03/06/2010, 08:08
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 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
  #5 (permalink)  
Antiguo 03/06/2010, 09:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: [AYUDA] PHP Script

Cita:
Iniciado por xtremer
Por lo que voy a poner el script que cree yo desde 0, que lo entiendo mejor que el que postee recien.
Ah, pero que no estabamos tratando de ver que pasaba con tu script real?... dejame ver si encuentro un comentario que hice en otro tema para ponerlo aqui como respuesta... lo entiendo mejor que todo lo que esta pasando aqui.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 03/06/2010, 16:23
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: [AYUDA] PHP Script

Nu, no estaba tratando mi script real, habia puesto un script que estaba en esa url, porque me parecio que sería menos codigo para que utds lean, basandome casi en lo mismo.

Me facinaría si me pudiesen solucionar el problema...
Porque tengo varios clientes, y se van acumulando, y necesito poder incorporar esto nuevo al script.
  #7 (permalink)  
Antiguo 03/06/2010, 17:39
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: [AYUDA] PHP Script

Nooo... pos como!!! yo quemandome las pocas neuronas que me quedan y perdiendo mi abundante cabellera de tanto pensar en como solucionar tu script y resulta que dijo mi mama que siempre no, porque este es del vecino...

Dos preguntas:

1- Sabes que tipo de variable es $_POST? En funcion de eso es como debes hacer el if, si sabes que no es boleana, sino array, entonces deberias comparar si tiene elementos o no.

2- Cantinflea un poco menos la parte del header() y la tabla que no se veria... porque para mi que mas que problema de funcionamiento es de logica.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 03/06/2010, 21:38
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: [AYUDA] PHP Script

Aha, y llevandola a la práctica como sería xD?

Tengo este problema desde hace mas de 1semana, he escrito el script mas de 1vez, y sigo con el mismo problema.
  #9 (permalink)  
Antiguo 03/06/2010, 21:54
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: [AYUDA] PHP Script

Cita:
Iniciado por xtremer Ver Mensaje
Realizo un segundo POST, para no confundir las cosas...

Encontre el tutorial donde realizaba muchas modificaciones de registros de MYSQL.
Directamente copie el código, lo mejoré, lo acorté, y puse lo que me parecia necesario para mí.
Me aparecen los datos, pero al intentar cambiarlos y actualizarlos, pero no lo actualiza esos datos, y queda la pantalla en blanco, por lo que no efectua la operacion deseada.
Nosé como solucionarlo, me dan alguna idea o solución.

URL del tutorial:
http://www.desarrolloweb.com/articulos/2395.php

Código:
<?
if (!$_POST)
{
   if (isset($_GET["id_mostrar"])){ $id_mostrar = $_GET["id_mostrar"]; } else{ $id_mostrar = 0; }
    $sql=mysql_query("SELECT * FROM pagos WHERE id>$id_mostrar ORDER BY id ASC LIMIT 10");
   echo "<form action='' method=post>";
   echo "\n<table align=center>";
   echo "\n<tr><td><b>Correo</b></td><td><b>Importe</b></td></tr>";
   for($i=0;$fila=mysql_fetch_array($sql);$i++)
   {
    $test=$fila[id];
      echo "\n<input type=hidden name='id$test' value='" . $fila["id"] . "'>";
      echo "<tr>";
      echo "<td>$fila[correo]</td>";
      echo "<td><input type=text name='importe$test' value='$fila[importe]'></td>";
      echo "</tr>";
      $ultimo_mostrado = $fila["id"];
   }

   echo "\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></td></tr>";
   echo "\n</table>";
   echo "\n</form>";

   if (isset($ultimo_mostrado)){ echo "\n<br><a href='index.php?go=categorias&opcion=pagos&id_mostrar=" . $ultimo_mostrado . "'>Ver los 10 siguientes</a>"; }
}
else
{
    for($x=0;$i=mysql_fetch_array($sql);$x++)
   {
      if (isset($_POST["id" . $i]))
      {
           $id=$x[id];
         $importe = $_POST["importe" . $i];
    $sql=mysql_query("UPDATE pagos SET importe='$importe' WHERE id=$id");
        if($sql){ echo "<br>Actualizado con éxito"; }else{ echo "<br>NO actualizado"; }
      }
   }
echo "\n<p><a href='index.php?go=categorias&opcion=pagos'>Volver</a>";
}
?>
El código de fuente:
Código:
<input type=hidden name='id49' value='49'><tr><td>[email protected]</td><td><input type=text name='importe49' value='0.00'></td></tr>

<input type=hidden name='id54' value='54'><tr><td>[email protected]</td><td><input type=text name='importe54' value='0.00'></td></tr>
<input type=hidden name='id55' value='55'><tr><td>[email protected]</td><td><input type=text name='importe55' value='0.00'></td></tr>
Este código te daba algún inconveniente de sintaxis??
intenta reemplazar todos los <? por <?php

si te continua el inconveniente, tal vez podrías poner el query de la bd para seguir haciendo pruebas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #10 (permalink)  
Antiguo 04/06/2010, 07:43
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: [AYUDA] PHP Script

Cambie los <? por <?php y no produjo ningun cambio, sigue pasando lo mismo.

Y realizar una query de la DB? UPDATE? SELECT?
Porque en realidad el script que yo hice anda bien, a consecuencia de al agregar esos 2 condicionales, ya no realiza las modificaciones. Si le quitan eso, van a haber como realiza los cambios a la perfección, pero con la diferencia de que no va a mostrar los cambios realizados, a menos q uno ingrese nuevamente a la URL para verlos.

De todas maneras, me gustaría si se pudiese trabajar en el 2do código que es el que en realidad trabajo.
  #11 (permalink)  
Antiguo 04/06/2010, 13:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: [AYUDA] PHP Script

Cita:
Iniciado por xtremer Ver Mensaje
Cambie los <? por <?php y no produjo ningun cambio, sigue pasando lo mismo.

Y realizar una query de la DB? UPDATE? SELECT?
Porque en realidad el script que yo hice anda bien, a consecuencia de al agregar esos 2 condicionales, ya no realiza las modificaciones. Si le quitan eso, van a haber como realiza los cambios a la perfección, pero con la diferencia de que no va a mostrar los cambios realizados, a menos q uno ingrese nuevamente a la URL para verlos.

De todas maneras, me gustaría si se pudiese trabajar en el 2do código que es el que en realidad trabajo.
Hola

nop, el query de la creación de la tabla con datos para correr ese query en mysql y que se creen tabla y datos gracias a el.

y en cuanto a que te muestre los cambios, pues puedes redireccionar la página
una vez se han hecho los inserts o updates ya sea a través de php o javascript
(revisa el tema location en ambos lados)
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #12 (permalink)  
Antiguo 04/06/2010, 15:46
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: [AYUDA] PHP Script

Creo que no me entendes.
El SCRIPT funciona correctamente, realiza las modificaciones deseadas. (Con la diferencia de que tengo q volver a ingresar a la URL, para ver el registro modificado)

Al intentar incorporar los condicionales, usando de base el SCRIPT de esa URL mencionada anteriormente, las modificaciones no se realizan.

Y si yo redirecciono asi como así el SCRIPT con un header(), la información de que registro se modificó, no aparecerá.
  #13 (permalink)  
Antiguo 04/06/2010, 19:21
 
Fecha de Ingreso: junio-2010
Ubicación: Buenos Aires, Capital Federal
Mensajes: 29
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: [AYUDA] PHP Script

no se nada de php, pero por ahi podes utilizar algun sistema de billing FREE que hay por la web..

espero haberte ayudado

saludos !.

Etiquetas: Ninguno
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 23:09.