Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2013, 01:37
cristiangd00
 
Fecha de Ingreso: octubre-2013
Ubicación: Asturias
Mensajes: 52
Antigüedad: 10 años, 6 meses
Puntos: 1
Actualizar una tabla

Buenos días, tengo un problema y creo que estoy planteándolo mal. Lo que intento hacer es que me muestre en una tabla todos los materiales cuya cantidad sea mayor que lo recibido (SELECT * FROM entradas WHERE cantidad>recibido)

Mediante un while y usando arrays me muestra eso, pero quiero que la columna de recibido se pueda modificar, y ahí es donde está el problema.

Os adjunto los php.

Código PHP:
Ver original
  1. <?php
  2. //Conectar la base de datos
  3. $conectar = mysql_connect("localhost","rasty","rasty");
  4.  if (! $conectar){die ("ERROR EN LA CONEXION CON MYSQL: ".mysql_error());}
  5.  
  6. $base = mysql_select_db ("consumibles",$conectar);
  7.  if(! $base){die ("ERROR AL CONECTAR CON LA BASE DE DATOS: ".mysql_error());}
  8.  
  9.  
  10. $sql = "SELECT * FROM entradas WHERE cantidad>recibido";
  11.  
  12. $resultado = mysql_query($sql);
  13.  
  14. echo "<html>
  15.         <h1>Actaulizar una entrada</h1>
  16.         <body>
  17.         <form name='actEntradasC' method='post'>
  18.             <table border='1'>
  19.                 <tr><td>Referencia Entrada</td><td>Referencia Pedido</td><td>Referencia Material</td><td>Cantidad</td><td>Recibido</td></tr>";
  20. $i = 0 ;
  21. while ($row = mysql_fetch_row($resultado)){
  22.             echo "<tr><td><input type='hidden' name='referencia_entrada[$i]' value='".$row[0]."' />".$row[0]."</td>
  23.                       <td><input type='hidden' name='referencia_pedido[$i]' value='".$row[1]."' />".$row[1]."</td>
  24.                       <td><input type='hidden' name='referencia_material[$i]'value='".$row[2]."'/>".$row[2]."</td>
  25.                       <td><input type='hidden' name='cantidad[$i]' value='".$row[3]."'/>".$row[3]."</td>
  26.                       <td><input type='text' name='recibido'/></td>
  27.                 </tr>";$i++;
  28. }
  29. echo "</table><input type='submit' value='Actualizar'>";
  30. echo"</form><a href='menu.php'>Menu</a></body></html>";
  31.  
  32.  
  33.  
  34. require ('funciones.php');
  35.  
  36.  
  37. if(!empty ($_POST['referencia_entrada']) && !empty($_POST['recibido'])){
  38.  
  39.  
  40.     $_SESSION['referencia_entrada']=$_POST['referencia_entrada'];
  41.     $_SESSION['recibido']=$_POST['recibido'];
  42.  
  43.     if(actualizarCantidad($_SESSION['referencia_entrada'])&&($_SESSION['recibido'])){
  44.  
  45.  
  46.         echo 'Entrada actualizada correctamente<br>';
  47.  
  48.         echo '<a href="menu.php">Menú </a>';
  49.  
  50.     }else
  51.  
  52.         echo '';
  53.  
  54. }else echo '';
  55.  
  56.  
  57. ?>
funciones.php
Código PHP:
Ver original
  1. function actualizarCantidad($referencia_entrada,$recibido) {
  2.     //Comprueba si el identificador se ha introducido
  3.     if($referencia_entrada&&$recibido) {
  4.         //Se conecta a la base de datos
  5.         $enlace=conectar_bd();
  6.         //Borrar
  7.         $actualizar="UPDATE entradas SET recibido='$recibido' WHERE referencia_entrada = $referencia_entrada";
  8.         //$actualizar="UPDATE entradas SET referencia_pedido='$referencia_pedido', referencia_material='$referencia_material', cantidad='$cantidad', recibido='$recibido' WHERE referencia_entrada = $referencia_entrada AND $cantidad>$recibido";
  9.         //Realiza el borrado
  10.         $resultado=mysql_query($actualizar, $enlace);
  11.         //Cierra la conexion
  12.         mysql_close($enlace);
  13.         echo "<p>Entrada actualizada</p>";
  14.     }
  15.     else {
  16.         echo "<p>Error</p>";
  17.     }
  18. }