Foros del Web » Programando para Internet » PHP »

Se pierde recarga de datos

Estas en el tema de Se pierde recarga de datos en el foro de PHP en Foros del Web. Saludos compañeros. Estoy realizando una busqueda la cual funciona bien pero los datos que me arroja esa busqueda los quiero ir agregando a una tabla ...
  #1 (permalink)  
Antiguo 07/04/2011, 12:58
 
Fecha de Ingreso: julio-2007
Mensajes: 114
Antigüedad: 16 años, 8 meses
Puntos: 0
Se pierde recarga de datos

Saludos compañeros.
Estoy realizando una busqueda la cual funciona bien pero los datos que me arroja esa busqueda los quiero ir agregando a una tabla que me va a ir cargando los datos tantas busquedas yo genere

El problema es que la busqueda se hace pero cuando recargo los datos se montan encima de los que estaban de la anterior busqueda y se pierden los anteriores


saludos espero me puedan ayudar les dejo el codigo


Código PHP:

<form action="<? $_SERVER ['PHP_SELF']; ?>" method="POST">
<input type="text" name="busca"><br>
<input type="submit" name="buscar" value="buscar">

<?php



if ($_POST["buscar"]){

include(
"conex.php");
$serial=$_POST['busca'];
$query mysql_query("SELECT * FROM activos WHERE serial=$serial"$link) or die(mysql_error());
$sql="SELECT COUNT(*) as total FROM activos WHERE serial=$serial";
$resultado=mysql_query($sql) or die (mysql_error());
$total=mysql_result($resultado,0,"total");
?>
<table border='2' align='center'>
  <tr>
   <td>N°</td>
 <td>Fecha de Registro</td>
 <td>Bien Nacional</td>
  <td>Serial</td>
  <td>Tipo</td>
  <td>Marca</td>
  <td>Modelo</td>
  <td>Aceptar</td>
  </tr>


<?php
while  ($row mysql_fetch_array($queryMYSQL_ASSOC)) {
?>

   <tr>
  <td><?=$row['id']?></td> <input name="id" type="hidden" value="<?=$row['id']?>" />
  <td><?=$row['fecha_registro']?></td> <input name="fecha_registro" type="hidden" value="<?=$row['fecha_registro']?>" />
 <td><?=$row['bien_nacional']?></td><input name="bien_nacional" type="hidden" value="<?=$row['bien_nacional']?>" />
   <td><?=$row['serial']?></td><input name="serial" type="hidden" value="<?=$row['serial']?>" /><input name="serial_o" type="hidden" value="<?=$row['serial']?>" />
 <td><?=$row['tipo']?></td><input name="tipo" type="hidden" value="<?=$row['tipo']?>" /><input name="tipo_o" type="hidden" value="<?=$row['tipo']?>" />
   <td><?=$row['marca']?></td><input name="marca" type="hidden" value="<?=$row['marca']?>" /><input name="marca_o" type="hidden" value="<?=$row['marca']?>" />
   <td><?=$row['modelo']?></td><input name="modelo" type="hidden" value="<?=$row['modelo']?>" /><input name="modelo_o" type="hidden" value="<?=$row['modelo']?>" />
   <td align='center'><input  name="aceptar" type="submit" value="aceptar"  /> </td>
      </tr>
</form>
<?php
}

}
?>
</table>

<?php    
    
echo "
            <table width=\"500\" border=\"1\" align=\"center\" >
              <tr>"
;
                echo 
"<td><strong>serial</strong></td>";
                echo 
"<td><strong>bien nacional</strong></td>";
                echo 
"<td><strong>marca</strong></td>";
                echo 
"<td><strong>modelo</strong></td></tr>";


        
if(
$_POST["aceptar"] == "aceptar"){
for(
$i=0$i<= count($_POST['serial_o']); $i++){
echo 
"<tr><td><input name=\"serial_o[]\" type=\"hidden\" value=\"".$_POST['serial_o'][$i]."\" />".$_POST['serial_o']."</td>";
echo 
"<td><input name=\"bien_nacional_o[]\" type=\"hidden\" value=\"".$_POST['bien_nacional_o'][$i]."\" />".$_POST['bien_nacional_o']."</td>";
echo 
"<td><input name=\"marca_o[]\" type=\"hidden\" value=\"".$_POST['marca_o'][$i]."\" />".$_POST['marca_o']."</td>";
echo 
"<td><input name=\"modelo_o[]\" type=\"hidden\" value=\"".$_POST['modelo_o'][$i]."\" />".$_POST['modelo_o']."</td></tr>";

   
}
echo 
"<tr><td><input name=\"serial_o[]\" type=\"hidden\" value=\"".$_POST['serial'][$i]."\" />".$_POST['serial']."</td>";
echo 
"<td><input name=\"bien_nacional_o[]\" type=\"hidden\" value=\"".$_POST['bien_nacional'][$i]."\" />".$_POST['bien_nacional']."</td>";
echo 
"<td><input name=\"marca_o[]\" type=\"hidden\" value=\"".$_POST['marca'][$i]."\" />".$_POST['marca']."</td>";
echo 
"<td><input name=\"modelo_o[]\" type=\"hidden\" value=\"".$_POST['modelo'][$i]."\" />".$_POST['modelo']."</td></tr>";
}

            echo 
"
              </tr>
            </table>"
;
        if (
$_POST["aceptar"] == "guardar"){

            for(
$i=0$i<count($_POST["tipo_o"]); $i++){
mysql_query("INSERT INTO discos (sesion,usuario1,marca_o,serial_o,bien_o,tipo_o,pb,oficina,ubicacion,estatus,usuario,observa) values ('".$_POST["sesion_o"][$i]."','".$_POST["usuario_1"][$i]."','".$_POST["marca_o"][$i]."','".$_POST["serial_o"][$i]."','".$_POST["bien_o"][$i]."','".$_POST["tipo_o"][$i]."','".$_POST["pb_o"][$i]."','".$_POST["oficina_o"][$i]."','".$_POST["ubicacion_o"][$i]."','".$_POST["estatus_o"][$i]."','".$_POST["usuario_o"][$i]."','".$_POST["observa_o"][$i]."')") or die(mysql_error());
mysql_query($link);
            }

        }
    
      

    
?>



<tr>
<td><input name="aceptar" type="submit" value="aceptar" /></td>


<td>


</td>
</tr>

</table>
  #2 (permalink)  
Antiguo 07/04/2011, 13:18
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Respuesta: Se pierde recarga de datos

lo que podes hacer es guardar una variable de session u oculta en la que guardes la consulta o la url si pasas los datos por get y antes de guardar la busqueda verificas que la variable de la pagina actual sea distinta a la que tenes guardas en la variable que te mencione antes y cuando guardas que actulizas los datos de la variable.

Espero que sea lo que necesitas. suerte
  #3 (permalink)  
Antiguo 07/04/2011, 13:50
 
Fecha de Ingreso: julio-2007
Mensajes: 114
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Se pierde recarga de datos

Muchas gracias luis estoy tratando de hacerlo asi ahora con variables de session
  #4 (permalink)  
Antiguo 07/04/2011, 14:33
 
Fecha de Ingreso: julio-2007
Mensajes: 114
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Se pierde recarga de datos

vuelvo con la misma duda pero ahora modifique el formulario

ahora hago una busqueda y esos datos los estoy enviando a otra pagina para que se vayan acumulando pero no logro conseguir que se vayan acumulando se montan encima de los que ya esta


esta es la pagina de la busqueda
Código PHP:
<form action="<? $_SERVER ['PHP_SELF']; ?>" method="POST">
<input type="text" name="busca"><br>
<input type="submit" name="buscar" value="buscar">
</form>
<?php



if ($_POST["buscar"]){

include(
"conex.php");
$serial=$_POST['busca'];
$query mysql_query("SELECT * FROM activos WHERE serial=$serial"$link) or die(mysql_error());
$sql="SELECT COUNT(*) as total FROM activos WHERE serial=$serial";
$resultado=mysql_query($sql) or die (mysql_error());
$total=mysql_result($resultado,0,"total");
?>
<table border='2' align='center'>
  <tr>
   <td>N°</td>
 <td>Fecha de Registro</td>
 <td>Bien Nacional</td>
  <td>Serial</td>
  <td>Tipo</td>
  <td>Marca</td>
  <td>Modelo</td>
  <td>Aceptar</td>
  </tr>


<?php
while  ($row mysql_fetch_array($queryMYSQL_ASSOC)) {
?>
<form action="salida.php" method="POST">
   <tr>
  <td><?=$row['id']?></td> <input name="id" type="hidden" value="<?=$row['id']?>" />
  <td><?=$row['fecha_registro']?></td> <input name="fecha_registro" type="hidden" value="<?=$row['fecha_registro']?>" />
 <td><?=$row['bien_nacional']?></td><input name="bien_nacional" type="hidden" value="<?=$row['bien_nacional']?>" />
   <td><?=$row['serial']?></td><input name="serial" type="hidden" value="<?=$row['serial']?>" /><input name="serial_o" type="hidden" value="<?=$row['serial']?>" />
 <td><?=$row['tipo']?></td><input name="tipo" type="hidden" value="<?=$row['tipo']?>" /><input name="tipo_o" type="hidden" value="<?=$row['tipo']?>" />
   <td><?=$row['marca']?></td><input name="marca" type="hidden" value="<?=$row['marca']?>" /><input name="marca_o" type="hidden" value="<?=$row['marca']?>" />
   <td><?=$row['modelo']?></td><input name="modelo" type="hidden" value="<?=$row['modelo']?>" /><input name="modelo_o" type="hidden" value="<?=$row['modelo']?>" />
   <td align='center'><input  name="aceptar" type="submit" value="aceptar"  /> </td>
      </tr>
</form>
<?php
}

}
?>
</table>

y en esta recibo los datos que mando desde la busqueda y quiero se vayan mostrando uno debajo de los otros pero los datos se montan encima de los que ya estan
Código PHP:
<?php    
//inicio la sesión
session_start();
$_SESSION["serial_o"][$i] = $_POST['serial_o'];
$_SESSION["bien_nacional_o"][$i] = $_POST['bien_nacional'];
$_SESSION["marca_o"][$i] = $_POST['marca'];
$_SESSION["modelo_o"][$i] = $_POST['modelo_o'];
    

    echo 
"<table width=\"500\" border=\"1\" align=\"center\" >
              <tr>"
;
                echo 
"<td><strong>serial</strong></td>";
                echo 
"<td><strong>bien nacional</strong></td>";
                echo 
"<td><strong>marca</strong></td>";
                echo 
"<td><strong>modelo</strong></td></tr>";
                
for (
$i=0$i<= count($_POST['serial']); $i++){
echo 
"<tr><td><input name=\"serial_o[]\" type=\"hidden\" value=\"".$_SESSION["serial_o"][$i]."\" />".$_SESSION["serial_o"][$i]."</td>";
echo 
"<td><input name=\"bien_nacional_o[]\" type=\"hidden\" value=\"".$_SESSION["bien_nacional_o"][$i]."\" />".$_SESSION["bien_nacional_o"][$i]."</td>";
echo 
"<td><input name=\"marca_o[]\" type=\"hidden\" value=\"".$_SESSION["marca_o"][$i]."\" />".$_SESSION["marca_o"][$i]."</td>";
echo 
"<td><input name=\"modelo_o[]\" type=\"hidden\" value=\"".$_SESSION["modelo_o"][$i]."\" />".$_SESSION["modelo_o"][$i]."</td></tr>";
}
echo 
"<tr><td><input name=\"serial_o[]\" type=\"hidden\" value=\"".$_POST['serial']."\" />".$_POST['serial']."</td>";
echo 
"<td><input name=\"bien_nacional_o[]\" type=\"hidden\" value=\"".$_POST['bien_nacional']."\" />".$_POST['bien_nacional']."</td>";
echo 
"<td><input name=\"marca_o[]\" type=\"hidden\" value=\"".$_POST['marca']."\" />".$_POST['marca']."</td>";
echo 
"<td><input name=\"modelo_o[]\" type=\"hidden\" value=\"".$_POST['modelo']."\" />".$_POST['modelo']."</td></tr>";


            echo 
"
              </tr>
            </table>"
;
        if (
$_POST["aceptar"] == "guardar"){

            for(
$i=0$i<count($_POST["tipo_o"]); $i++){
mysql_query("INSERT INTO discos (sesion,usuario1,marca_o,serial_o,bien_o,tipo_o,pb,oficina,ubicacion,estatus,usuario,observa) values ('".$_POST["sesion_o"][$i]."','".$_POST["usuario_1"][$i]."','".$_POST["marca_o"][$i]."','".$_POST["serial_o"][$i]."','".$_POST["bien_o"][$i]."','".$_POST["tipo_o"][$i]."','".$_POST["pb_o"][$i]."','".$_POST["oficina_o"][$i]."','".$_POST["ubicacion_o"][$i]."','".$_POST["estatus_o"][$i]."','".$_POST["usuario_o"][$i]."','".$_POST["observa_o"][$i]."')") or die(mysql_error());
mysql_query($link);
            }

        }
    
      

    
?>



<tr>
<td><a href="buscar_salida.php"><input name="aceptar" type="submit" value="volver" /></a></td>


<td>


</td>
</tr>

espero me puedan ayudar
  #5 (permalink)  
Antiguo 07/04/2011, 14:53
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Respuesta: Se pierde recarga de datos

no declaras la variable $i, por lo cual queda como false o vacio, y vos estas guardando siempre en el mismo indice de ( false ). Tendrias que usar un contador en session
O lo podrias dejar [] y se auto incrementa
  #6 (permalink)  
Antiguo 07/04/2011, 15:12
 
Fecha de Ingreso: julio-2007
Mensajes: 114
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Se pierde recarga de datos

Ahora me recarga los datos pero cuando es la tercera vez se vuelven a montar no se incrementa

Etiquetas: pierde, recarga
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:32.