Foros del Web » Programando para Internet » PHP »

PHP OO ayuda con bucle

Estas en el tema de ayuda con bucle en el foro de PHP en Foros del Web. buenas a todos espero vuestra ayuda con un bucle. tengo una tabla donde se recoge precio por dia y tengo una tabla en mysql que ...
  #1 (permalink)  
Antiguo 15/02/2011, 13:07
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
ayuda con bucle

buenas a todos espero vuestra ayuda con un bucle.
tengo una tabla donde se recoge precio por dia y tengo una tabla en mysql que atraves de una consulta modefico los precio cada precio tiene que guardar en su fecha (esto lo tengo bien) y en cu celda hay 4 id's id_1 id_2 id_3 y id_4
el problema es que no consigo guardarlo bien espero que me ayuden porfavor.
  #2 (permalink)  
Antiguo 15/02/2011, 13:20
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: ayuda con bucle

arros si colocas code es mucho mas facil ayudarte y entender
  #3 (permalink)  
Antiguo 15/02/2011, 13:27
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: ayuda con bucle

gracias por responder bUllan9ebrio
aqui esta el codigo
Código PHP:
Ver original
  1. foreach($_POST['precio'] as $v => $k)
  2.         {
  3.            
  4.         $precio = $k;
  5.         $id_hab = $_POST['id_hab'][$v];
  6.        
  7.        
  8.         $fecha = date('Y-m-d', $day);
  9.         $query = mysql_query("UPDATE ".$tabla." SET
  10.         pro_".$id_hab." = ".$precio."
  11.         WHERE fecha = '$fecha' ", $GLOBALS['DB']) or die (mysql_error());
  #4 (permalink)  
Antiguo 15/02/2011, 13:28
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: ayuda con bucle

gracias por responder bUllan9ebrio
aqui esta el codigo
Código PHP:
Ver original
  1. foreach($_POST['precio'] as $v => $k)
  2.         {
  3.            
  4.         $precio = $k;
  5.         $id_hab = $_POST['id_hab'][$v];
  6.        
  7.        
  8.         $fecha = date('Y-m-d', $day);
  9.         $query = mysql_query("UPDATE ".$tabla." SET
  10.         pro_".$id_hab." = ".$precio."
  11.         WHERE fecha = '$fecha' ", $GLOBALS['DB']) or die (mysql_error());
$tabla es el nombre de la tabla mas id del usuario,
pro_".$id_hab." esl el nombre de la celda donde se guarda el precio
  #5 (permalink)  
Antiguo 15/02/2011, 13:50
 
Fecha de Ingreso: agosto-2010
Mensajes: 12
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: ayuda con bucle

nose si te equivocaste al ponerlo, pero mira que el $fecha te lo pone en rojo, ya que no le pusiste comillas dobles y sigue interpretandolo como MySQL

WHERE fecha = '" . $fecha . "' "
  #6 (permalink)  
Antiguo 15/02/2011, 13:58
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: ayuda con bucle

Prueba colocando este Update :


Código MySQL:
Ver original
  1. $query = mysql_query("UPDATE '$tabla' SET pro_'$id_hab' = '$precio'  WHERE fecha ='$fecha'", $GLOBALS['DB']) or die (mysql_error());
  #7 (permalink)  
Antiguo 15/02/2011, 14:03
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: ayuda con bucle

No veo mal como escribio fecha. Un comentario: no necesitas concatenar variables con cadenas de esa forma, tu haces:
Código PHP:
Ver original
  1. $query = mysql_query("UPDATE ".$tabla." SET
  2.        pro_".$id_hab." = ".$precio."
  3.        WHERE fecha = '$fecha' ", $GLOBALS['DB']) or die (mysql_error());

Cuando podrías hacer:
Código PHP:
Ver original
  1. $query = mysql_query("UPDATE $tabla SET
  2.        pro_$id_hab = $precio
  3.        WHERE fecha = '$fecha' ", $GLOBALS['DB']) or die (mysql_error());

Por otra parte, habría que ver qué recibes dentro de $_POST['precio'] para saber si esta haciendo bien el bucle. Además, para cuatro precios que hay creo que sería mejor actualizar los cuatro campos en una sola consulta, en ves de hacer 4 veces la misma.
  #8 (permalink)  
Antiguo 15/02/2011, 14:04
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: ayuda con bucle

si la fecha tengo bien pero el problema viene de foreacho, cuando se medefica el precio se pone el la fecha coreccta
  #9 (permalink)  
Antiguo 15/02/2011, 14:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
no tien lo de cuatro precios o consulta ocp001a, gracias por responder, otra cosa las comillas no tienen impotancia porque estaba probando muchas y nada
aqui os dejo el formulario de donde se envian:
Código PHP:
Ver original
  1. <form action="prueba_insert.php?insertPrice&d=<?php echo $d; ?>&h=<?php echo $h; ?>" method="post" >
  2.         <table id="room_result" border="0" cellpadding="5" cellspacing="5">
  3.         <tr>
  4.         <th colspan="5"><?php echo "desde: ".$d." hasta: ".$h; ?></th>
  5.         </tr>
  6.        <tr><td>Fecha</td><td>Candidad</td><td>
  7.         <?php
  8.         $in = strtotime($d);
  9.         $out = strtotime($h);
  10.         $diff = $out - $in;
  11.         for($i = $in; $i <= $out; $i+=86400)
  12.             {
  13.                 ?>
  14.         <input type="text" size="2" disabled="disabled" value="<?php echo date('d',$i); ?>"  />
  15.         <?php
  16.             }
  17.             ?>
  18.         </td></tr>
  19.         <?php
  20.         //while($row = mysql_fetch_array($result))
  21.         //{
  22.            
  23.            
  24.             while($row = mysql_fetch_assoc($result))
  25.             {
  26.                
  27.                     ?>
  28.                      
  29.             <tr>
  30.             <td>
  31.             <input type="hidden" name="id_hab[]" value="<?php echo $row['id_hab']; ?>" />
  32.             <input type="text" disabled="disabled" name="i" value="<?php echo $row['nombre_hab']; ?>" /></td>
  33.             <td>
  34.             </td>
  35.             <td>
  36.             <?php
  37.             for($i = $in; $i <= $out; $i+=86400)
  38.             {
  39.             ?>
  40.             <input type="hidden" name="count[]" value="<?php echo $i; ?>" />
  41.             <input type="text" name="precio[]" size="2" value="" />
  42.             <?php
  43.             }
  44.         }
  45.         ?>
  46.             </td>
  47.             </tr>
  48.     <tr>
  49.    
  50.             <td class="ver" colspan="5" align="right"><input type="submit" name="submitted" class="button" value="guardar" /></td>
  51.             </tr>
  52.     </table>
  53.     </form>

ayuda porfavor :(
se alguien sabe otra manera que funcionaria mejor, le agradeceria mucho, yo la idea que tenia es que un hotel selecciona la dos fechas desde hasta, despues podran insertar el precio de habitaciones por cada dia, (para mi creo que resulta mas facil pero haciendolo en php me resulta deficil), si alguien tiene otra idea mejor cambiaria el codigo y las bases de datos

Última edición por GatorV; 16/02/2011 a las 09:54

Etiquetas: bucle
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 04:09.