Foros del Web » Programando para Internet » PHP »

problema con actualizar y tablas repetidas

Estas en el tema de problema con actualizar y tablas repetidas en el foro de PHP en Foros del Web. hola a todos tengo un inconveniente, tengo un formulario donde me actualiza los datos correspondiente, el proceso de actualizar me lo hace con exito y ...
  #1 (permalink)  
Antiguo 08/09/2008, 08:06
 
Fecha de Ingreso: julio-2008
Mensajes: 129
Antigüedad: 15 años, 10 meses
Puntos: 0
problema con actualizar y tablas repetidas

hola a todos tengo un inconveniente, tengo un formulario donde me actualiza los datos correspondiente, el proceso de actualizar me lo hace con exito y sin errores mi problema es que como tengo un combobox me aparecen 7 formularios iguales y si del combobox elijo una opcion de esas todas las 7 tablas me muestra lo mismo aqui le dejo mi codigo
Código PHP:
<?php
//Conexion con la base de datos
$link = @mysql_connect ("localhost","root","") or
die(
"Error de conexion: ".mysql_error());

@
mysql_select_db("name",$link) or
die(
"Error de selección: ".mysql_error());
?>
<table width="600" align="center">
<tr> 
<td align="left" height="25" valign="top" nowrap><div align="left"></div></td>
</tr>
<tr> 
<td align="left" valign="top" height="25"><form name="form11" method="GET" onSubmit="" action="" id="form11">
  <table width="496" height="21" align="center">  

    <tr bgcolor="#CCCCCC" class="Estilo1">
      <td width="68" rowspan="2" bgcolor="#CCCCCC"><?php
$tarea 
$_GET['combo'];
$result=mysql_query("select id_tabla, tarea from actividades order by tarea"); 
echo 
'<select name="combo" size="1" id="combo" onChange="javascript:document.form11.submit();">';
echo 
"<option value='0'>___</option>";

while (
$row=mysql_fetch_array($result))

if (
$row['id_tabla'] == $tarea){
echo 
"<option value='".$row['id_tabla']."' selected>".$row['tarea']."</option>"

else{
echo 
"<option value='".$row['id_tabla']."'>".$row['tarea']."</option>" ;
}
}
echo 
"</select>"
?></td>
      <td width="253" rowspan="2" bgcolor="#FFFFFF">&nbsp;</td>
      <td width="159" rowspan="2" bgcolor="#FFFFFF"><div align="left"></div></td>
    </tr>
    <tr bgcolor="#CCCCCC" class="Estilo1"> </tr>
  </table>
</form></td>
<?php
$qry
="select * from actividades where id_tabla='".$tarea."'";
$result1=mysql_query($qry);
$num=mysql_num_rows($result1);
$row=mysql_fetch_array($result1);
?>



<?php
echo "<br>";
$mensaje=$_GET['mensaje'];if ($mensaje==1)
{
echo 
"<center>Registro Actualizado</center>";
}
?>
<table border="1" align="center">

<?php
    
include ("conexion.php");
    
conectar();
    
$consulta="select * from actividades";
    
$resultadosmysql_db_query ($mydb,$consulta) or die("error consulta: ".mysql_error());
    if (!(@
mysql_num_rows ($resultados) == 0))
        {
            while (
$campo mysql_fetch_array($resultados))
            {
                
$dependencia=$campo['dependencia'];
                
$actividad=$campo['actividad'];
                
$f_i=$campo['f_i'];
                
$f_f=$campo['f_f'];
                
$f_f=$campo['f_f'];
                
$monto=$campo['monto'];
                
$unidad=$campo['unidad'];
                
$programado=$campo['programado'];
                
$tarea=$campo['tarea'];
                
$trimestre=$campo['trimestre'];
                
$calcular=$campo['calcular'];
                
$estimado=$campo['estimado'];

?>
  <form name="form1" method="post" action="caseactividad.php">

  <table width="533" border="0" align="center">
  <tr>
    <th width="555" height="457" scope="col"><table width="513" height="73" align="center">
      <tr bgcolor="#CCCCCC" class="Estilo1">
        <td width="253" rowspan="2"><div align="center">Sistema de Monitoreo y Evaluaci&oacute;n </div></td>
        <td height="40"><div align="center">Codigo de la Tarea </div></td>
        <td><div align="center"><input name="tarea" type="text" id="tarea2" value="<?php echo $row['tarea']?>" /></div></td>
      </tr>
      <tr bgcolor="#CCCCCC" class="Estilo1">
        <td width="124" height="24"><div align="center">Dependencia</div></td>
        <td width="120"><div align="right">
          <input name="dependencia" type="text" id="dependencia2" value="<?php echo $row {'dependencia'}?>" />
        </div></td>
      </tr>
    </table>
        <table width="514" height="30" align="center">
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td width="191">Nombre de la actividad </td>
            <td width="311" height="24"><input name="actividad" type="text" id="actividad2" value="<?php echo $row['actividad']?>" /></td>
          </tr>
        </table>
      <table width="515" height="190" align="center">
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td width="204">Fecha de inicio </td>
            <td width="178" height="28"><p>
<input name="f_i" type="text" id="f_i2" value="<?php echo $row['f_i']?>" />                <!-- ggPosX and ggPosY not set, so popup will autolocate to the right of the graphic -->
            </p></td>
            <td width="117">&nbsp;</td>
          </tr>
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td>Fecha de final </td>
            <td height="24"><!-- ggPosX and ggPosY not set, so popup will autolocate to the right of the graphic -->
<input name="f_f" type="text" id="f_f2" value="<?php echo $row['f_f']?>" />                
            </td>
            <td>&nbsp;</td>
          </tr>
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td>Fecha real de culminaci&oacute;n</td>
            <td height="24"><input name="f_r" type="text" id="f_r2" value="<?php echo $row['f_r']?>" /></td>
            <td>&nbsp;</td>
          </tr>
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td>Monto de la Tarea </td>
            <td height="24"><input name="monto" type="text" id="monto2" value="<?php echo $row['monto']?>" /></td>
            <td>&nbsp;</td>
          </tr>
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td>unidad</td>
            <td height="24"><input name="unidad" type="text" id="unidad2" value="<?php echo $row['unidad']?>" /></td>
            <td>&nbsp;</td>
          </tr>
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td>Estimado</td>
            <td height="24"><input name="estimado" type="text" id="estimado2" value="<?php echo $row['estimado']?>" /></td>
            <td>&nbsp;</td>
          </tr>
          <tr bgcolor="#CCCCCC" class="Estilo1">
            <td>calcular</td>
            <td height="24"><input name="calcular" type="text" id="calcular2" value="<?php echo $row['calcular']?>" /></td>
            <td>&nbsp;</td>
          </tr>
        </table>
      <h6>&nbsp;</h6>
      <table width="511" border="0" bgcolor="#CCCCCC">
          <tr>
            <th width="95" bgcolor="#CCCCCC" class="Estilo1" scope="col"><div align="left">Trimestre</div></th>
            <th width="130" scope="col"><label>
                <div align="right"><input name="trimestre" type="text" id="trimestre2" value="<?php echo $row['trimestre']?>" />
                </div>
              </label></th>
            <th width="10" bgcolor="#CCCCCC" scope="col">&nbsp;</th>
            <th width="105" bgcolor="#CCCCCC" class="Estilo1" scope="col">programado</th>
            <th width="149" scope="col"><input name="programado" type="text" id="programado2" value="<?php echo $row['programado']?>" /></th>
          </tr>
        </table>
      </th>
  </tr>

</table>
    
            <td><input type="submit" name="Submit" value="Actualizar"></td>
          <input name="seleccion" type="hidden" id="seleccion" value="2">
          <input name="tarea" type="hidden" value="<?php echo $tarea?>">

    
    <a href="actualizaractivi.php?cedula=<?php echo $cedula?>" style="color: #000000"></a>
  </tr>
  </form>

<?php
            
}
        }
?>
</table>

<?php 

$cedula
=$_GET['tarea'];
if (!(empty (
$tarea)))
{
$consulta="select * from actividades where tarea='$tarea'";
    
$resultadosmysql_db_query ($mydb,$consulta) or die("error consulta: ".mysql_error());
    if (!(@
mysql_num_rows ($resultados) == 0))
        {
            while (
$campo mysql_fetch_array($resultados))
            {
                
$dependencia=$campo['dependencia'];
                
$actividad=$campo['actividad'];
                
$f_i=$campo['f_i'];
                
$f_f=$campo['f_f'];
                
$f_f=$campo['f_f'];
                
$monto=$campo['monto'];
                
$unidad=$campo['unidad'];
                
$programado=$campo['programado'];
                
$tarea=$campo['tarea'];
                
$trimestre=$campo['trimestre'];
                
$calcular=$campo['calcular'];
                
$estimado=$campo['estimado'];
                }
            }
?>
<form name="form1" method="post" action="caseactividad.php">
  <label></label>
</form>

  <?php
}
?> 
<br>
repito no tengo problema con el proceso de actualizar sino con las tablas q se repiten
  #2 (permalink)  
Antiguo 08/09/2008, 10:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: problema con actualizar y tablas repetidas

Hola,

El problema no es del combo, sino de este bucle while:

Código PHP:
$consulta="select * from actividades";
    
$resultadosmysql_db_query ($mydb,$consulta) or die("error consulta: ".mysql_error());
    if (!(@
mysql_num_rows ($resultados) == 0))
        {
            while (
$campo mysql_fetch_array($resultados))
            { 
                   
//AQUÍ METES EL FORMULARIO, por tanto tendrás tantos formularios
                   //como registros en la tabla actividades.
            
}
        } 
Solución: Dejar al formulario fuera del bucle while.
  #3 (permalink)  
Antiguo 08/09/2008, 12:38
 
Fecha de Ingreso: julio-2008
Mensajes: 129
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema con actualizar y tablas repetidas

lo modifique asi para haerlo mas sencillo
Código PHP:
<?php
echo "<br>";
$mensaje=$_GET['mensaje'];if ($mensaje==0)
{
echo 
"<center>Registro Actualizado</center>";
}
?>
<table border="1" align="center">
<form name="form11" method="GET" onSubmit="" action="" id="form1">
<?php
    
include ("conexion.php");
    
conectar();
    
$tarea $_GET['combo'];
    
$consulta="select * from actividades";
    
$resultadosmysql_db_query ($mydb,$consulta) or die("error consulta: ".mysql_error());
    
    if (!(@
mysql_num_rows ($resultados) == 0))
        {
            while (
$campo mysql_fetch_array($resultados))
            {
                
$dependencia=$campo['dependencia'];
                
$actividad=$campo['actividad'];
                
$f_i=$campo['f_i'];
                
$f_f=$campo['f_f'];
                
$f_f=$campo['f_f'];
                
$monto=$campo['monto'];
                
$unidad=$campo['unidad'];
                
$programado=$campo['programado'];
                
$tarea=$campo['tarea'];
                
$trimestre=$campo['trimestre'];
                
$calcular=$campo['calcular'];
                
$estimado=$campo['estimado'];
                
$tarea $_GET['combo'];

echo 
'<select name="combo" size="1" id="combo" onChange="javascript:document.form1.submit();">';
echo 
"<option value='0'>___</option>";

while (
$campo=mysql_fetch_array($resultados))

if (
$campo['id_tabla'] == $tarea){
echo 
"<option value='".$campo['id_tabla']."' selected>".$campo['tarea']."</option>"

else{
echo 
"<option value='".$campo['id_tabla']."'>".$campo['tarea']."</option>" ;
}
}
echo 
"</select>"

?>

<?php
$qry
="select * from actividades where id_tabla='".$tarea."'";
$result1=mysql_query($qry);
$num=mysql_num_rows($result1);

$campo=mysql_fetch_array($result1);
?>

</form>
  <form name="form11" method="post" action="caseactividad.php">
  
<td><input name="dependencia" type="text" id="dependencia2" value="<?php echo $campo['dependencia']?>" /> </td>
<td><input name="actividad" type="text" id="actividad2" value="<?php echo $campo['actividad']?>" /></td>
     <td width="336" height="24"><input name="f_i" type="text" id="f_i2" value="<?php echo $campo['f_i']?>" /></td>
    <td><input name="f_f" type="text" id="f_f2" value="<?php echo $campo['f_f']?>" /></td>
    <td><input name="f_r" type="text" id="f_r2" value="<?php echo $campo['f_r']?>" /></td>
    <td><input name="monto" type="text" id="monto2" value="<?php echo $campo['monto']?>" /></td>
    <td><input name="unidad" type="text" id="unidad2" value="<?php echo $campo['unidad']?>" /></td>
    <td><input name="programado" type="text" id="programado2" value="<?php echo $campo['programado']?>" /></td>
    <td><input name="tarea" type="text" id="tarea2" value="<?php echo $campo['tarea']?>" /></td>
    <td><input name="trimestre" type="text" id="trimestre2" value="<?php echo $campo['trimestre']?>" /></td>
    <td><input name="calcular" type="text" id="calcular2" value="<?php echo $campo['calcular']?>" /></td>
    <td><input name="estimado" type="text" id="estimado2" value="<?php echo $campo['estimado']?>" /></td>
    
    
            <td><input type="submit" name="Submit" value="Actualizar"></td>
          <input name="seleccion" type="hidden" id="seleccion" value="2">
          <input name="tarea" type="hidden" value="<?php echo $tarea?>">

    
    <a href="actualizaractivi.php?cedula=<?php echo $cedula?>" style="color: #000000"></a>
  </tr>
  </form>

<?php
            
}
        }
?>
</table>

<?php 

$tarea
=$_GET['tarea'];
if (!(empty (
$tarea)))
{
$consulta="select * from actividades where tarea='$tarea'";
    
$resultadosmysql_db_query ($mydb,$consulta) or die("error consulta: ".mysql_error());
    if (!(@
mysql_num_rows ($resultados) == 0))
        {
            while (
$campo mysql_fetch_array($resultados))
            {
                
$dependencia=$campo['dependencia'];
                
$actividad=$campo['actividad'];
                
$f_i=$campo['f_i'];
                
$f_f=$campo['f_f'];
                
$f_f=$campo['f_f'];
                
$monto=$campo['monto'];
                
$unidad=$campo['unidad'];
                
$programado=$campo['programado'];
                
$tarea=$campo['tarea'];
                
$trimestre=$campo['trimestre'];
                
$calcular=$campo['calcular'];
                
$estimado=$campo['estimado'];
                }
            }
?>
<form name="form1" method="post" action="caseactividad.php">
  <label></label>
</form>

  <?php
}
?> 
<br>
pero ahora si me muestra un soplo formulario pero no me modifica ni me muestra la primera opcion
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 08:50.