Foros del Web » Programando para Internet » PHP »

Problema con un bucle

Estas en el tema de Problema con un bucle en el foro de PHP en Foros del Web. Buenas amigos del foro, a ver si alguien me puede ayudar, puesto que se me han acabado las posibilidades de como hacerlo. Tengo un albaran ...
  #1 (permalink)  
Antiguo 27/10/2009, 04:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 71
Antigüedad: 15 años, 8 meses
Puntos: 2
Problema con un bucle

Buenas amigos del foro, a ver si alguien me puede ayudar, puesto que se me han acabado las posibilidades de como hacerlo.
Tengo un albaran el cual inserto a una BBDD y lo que quiero hacer es poder modificar varias filas a la vez.

Esta es la insercion que hago, pero solo me modifica un campo. creo que me falta un bucle pero no se como hacerlo....

$sqlAlbaran="SELECT * FROM albaran WHERE albaran=".$_GET['albaran'];
$resultAlbaran=mysql_query($sqlAlbaran,$idcon);
$filasAlbaran=mysql_fetch_assoc($resultAlbaran);
$filas=mysql_num_rows($resultAlbaran);
if(isset($_POST['Enviar'])){
$albaran=$_POST['Albaran'];
$fecha=$_POST['Fecha'];
$ano=$_POST['Ano'];
$cliente=$_POST['Cliente'];
$direccion=$_POST['Direccion'];
$poblacion=$_POST['Poblacion'];
$telefono=$_POST['Telefono'];
$date=time();

$x=$filasAlbaran['idAlbaran'];
$ml=number_format($_POST['Cantidad'.$x.'']*$_POST['Largo'.$x.''],2);
$m2=number_format($_POST['Cantidad'.$x.'']*($_POST['Largo'.$x.'']*$_POST['Ancho'.$x.'']),2);
$sqlInsert="UPDATE albaran SET albaran='$albaran', ano='$ano', fecha='$fecha', cliente='$cliente', direccion='$direccion', poblacion='$poblacion', telefono='$telefono', cantidad='".$_POST['Cantidad'.$x.'']."', largo='".$_POST['Largo'.$x.'']."', ancho='".$_POST['Ancho'.$x.'']."', grueso='".$_POST['Grueso'.$x.'']."', descripcion='".$_POST['Descripcion'.$x.'']."', m2='$m2', ml='$ml', date=$date WHERE idAlbaran=".$_POST['id'.$x.''];
mysql_query($sqlInsert,$idcon);
//header('location:modificar_albaran.php?user='.$_GE T['user'].'&albaran='.$albaran);
}

Este seria el formulario de envio, donde le doy un nombre distinto a cada campo con un bucle a traves de la id de la base de datos.

<?php
$sqlAlbaran="SELECT * FROM albaran WHERE albaran=".$_GET['albaran']." ORDER BY idAlbaran ASC";
$resultAlbaran=mysql_query($sqlAlbaran,$idcon);
$filas=mysql_num_rows($resultAlbaran);
while($filasAlbaran=mysql_fetch_assoc($resultAlbar an)){
$campo=$filasAlbaran['idAlbaran'];
echo '<tr>
<td width="5%" height="25" align="center" valign="middle"><input name="Cantidad'.$campo.'" type="text" class="campo" id="Cantidad'.$campo.'" size="2" maxlength="3" value="'.$filasAlbaran['cantidad'].'"/></td>
<td width="8%" height="25" align="center" valign="middle"><input name="Largo'.$campo.'" type="text" class="campo" id="Largo'.$campo.'" size="8" maxlength="8" value="'.$filasAlbaran['largo'].'"/></td>
<td width="8%" height="25" align="center" valign="middle"><input name="Ancho'.$campo.'" type="text" class="campo" id="Ancho'.$campo.'" size="8" maxlength="8" value="'.$filasAlbaran['ancho'].'"/></td>
<td width="5%" height="25" align="center" valign="middle"><input name="Grueso'.$campo.'" type="text" class="campo" id="Grueso'.$campo.'" size="1" maxlength="2" value="'.$filasAlbaran['grueso'].'"/></td>
<td width="30%" height="25" align="center" valign="middle"><input name="Descripcion'.$campo.'" type="text" class="campo" id="Descripcion'.$campo.'" size="40" maxlength="70" value="'.$filasAlbaran['descripcion'].'"/></td>
<td width="10%" height="25" align="center" valign="middle"><input name="id'.$campo.'" type="text" class="campo" id="id'.$campo.'" size="40" maxlength="10" value="'.$filasAlbaran['idAlbaran'].'"/></td>
<td width="10%" height="25" align="center" valign="middle">&nbsp;</td>
<td width="12%" height="25" align="center" valign="middle">&nbsp;</td>
<td width="12%" height="25" align="center" valign="middle">&nbsp;</td>
</tr>';
}
?>

Bueno si alguien me puede echar una mano lo agradeceria... Un saludo
  #2 (permalink)  
Antiguo 27/10/2009, 08:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP orientado a objetos a PHP
  #3 (permalink)  
Antiguo 27/10/2009, 08:20
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: Problema con un bucle

mmm
si se sirve, intentalo con un do while en vez de while solamente
=)
  #4 (permalink)  
Antiguo 27/10/2009, 08:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 71
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Problema con un bucle

No he gastado nunca el do while... me podrias orientar un poco a ver como deberia colocarlo.

Gracias
  #5 (permalink)  
Antiguo 27/10/2009, 08:50
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: Problema con un bucle

do{
.
.
.
}while($row = mysql_fetch_array($sqlBuscar));
en tu caso seria $filasAlbaran=mysql_fetch_assoc($resultAlbar an).
ojala te sirva !
salu2!
  #6 (permalink)  
Antiguo 27/10/2009, 12:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 71
Antigüedad: 15 años, 8 meses
Puntos: 2
Lo probaré a ver que tal va.... ya te cuento!!!

Saludos y gracias

O no funciona como yo quiero el do - while o no lo se poner bien, a nadie se le ocurre otro tipo de idea, sigue modificando una fila pero no vuelve a repetir la sentencia del UPDATE...

Estoy muy atascado

Un saludo

Última edición por GatorV; 28/10/2009 a las 09:31
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:51.