Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/02/2003, 14:49
Avatar de Salome
Salome
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 21 años, 5 meses
Puntos: 1
Esta bien.. mostrare que hice...

Como les comentaba tenia una tabla con los siguientes campos:

$ide $idl $linea $des
1 1
1 2
1 3

lo explicare con el consecutivo de 3 en idl

lo que necesitaba era despues de crear estos campos en la base de datos con la información en $ide e $idl como se muestra arriba, poder ingresarla....

entonces use lo siguiente...

$ide = 1;
mysql_connect("localhost","root","");
$result=mysql_db_query("caxainte_3", "select * from lineas where ide = '$ide'");
while ($row = mysql_fetch_array($result))
{
if ($row["idl"] == 1)
{
?>
<input type="text" name="linea1" value="<?=$row["linea"]?>" size="30">
<textarea name="des1" cols="50" rows="2"><?=$row["des"]?></textarea>
<?
}
if ($row["idl"] == 2)
{
?>
<input type="text" name="linea2" value="<?=$row["linea"]?>" size="30">
<textarea name="des2" cols="50" rows="2"><?=$row["des"]?></textarea>
<?
}
if ($row["idl"] == 3)
{
?>
<input type="text" name="linea3" value="<?=$row["linea"]?>" size="30">
<textarea name="des3" cols="50" rows="2"><?=$row["des"]?></textarea>
<?
}

$ide siempre esta en 1 por tal motivo asi inicialice esa variable, igual si fuera a verificar por ejemplo usuarios pues seria como una constante....

me conecte a la base de datos donde esta la tabla e hice el select pues donde me mostrara solo los registros donde el $ide fuera igual a 1 para este ejemplo...

y pues como ya les habia dicho el $idl me cambia de valor de 1... a ..3 por ejemplo.. asi que en los if pregunto que si $row [idl] es igal a cualquiera de los numeros que tengo consecutivos... si es asi.. pues muestro los campos donde se va a ingresar, en principio los campos linea y des estan vacios asi que si no ahi nada alli los mostrara de igual forma vacios para poder ingresar...

como ven cada que ahi un if pues el nombre (name) de la variable en html tiene un nombre diferente pero el value es el de la linea y la des que se encuentra en ese idl..

ya luego de esto voy a ingresar, ahora para ingresar hice lo siguiente:

$ide = 1;
mysql_connect("localhost","root","");
$idl = 1;
while ($idl <= 3)
{
if ($idl == 1)
{
mysql_db_query("caxainte_3"," update lineas set linea = '$linea1', des = '$des1' where idl = '$idl' and ide = '$ide'");
$idl = $idl + 1;
}
}

$ide por efectos del ejemplo sigue teniendo el valor de 1.
me conecto a la bd
e inicializo idl en 1 para poder recorrer los registros en la tabla.
Comienzo un mientras (while) donde hago que se ejecute hasta que $idl sea menor o igual a tres por ejemplo y pues comienzo a actualizar....
ya al terminar de actualizar ingremento la variable $idl ya valdria 2 y asi sucevimente para que entre a los otros if.... solo puse uno, pues los otros dos son iguales solo que los otros nombres de variables cambian respecto al valor del $idl y como mostre en el primer fragmento de codigo...

Bueno pues esto es util para cuando se hasta donde pueden llegar los valores por ejemplo hasta 3 o hasta 1.000 y los puedo controlar aunque se haga repetitivo....y canson... pero esa es la idea...

Espero que ahora con la solución si les haya quedado algo claro..