Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/11/2013, 02:31
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Actualizar una tabla

Primero <form name='actEntradasC' method='post'> le falta el parametro action, en el debes consignar el fichero que va a recibir y tratar los datos... (puede ser el mismo donde tienes el formulario).

if(actualizarCantidad($_SESSION['referencia_entrada'])&&($_SESSION['recibido']))

Ni esa funcion ni ese campo retornan un booleano luego ese condicional no funcionará.

Modifico la función...

Código PHP:
Ver original
  1. function boolActualizarCantidad($referencia_entrada,$recibido) {
  2.     //Comprueba si el identificador se ha introducido
  3.     if(!is_null($referencia_entrada) && !is_null($recibido)) {
  4.         //Se conecta a la base de datos, NO HACE FALTA LA CONEXION YA LA TENEMOS
  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.         $resultado=mysql_query($actualizar);
  12.         return True;
  13.     }
  14.     else {
  15.         return False;
  16.     }
  17. }

ahora es booleana ya que retorna true o false.


Digamos que el fichero es "formulario.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. include('funciones.php');
  10.  
  11. if(!empty ($_POST['referencia_entrada']) && !empty($_POST['recibido'])){
  12.  
  13. ///Para que guardas esos datos en la session
  14. //$_SESSION['referencia_entrada']=$_POST['referencia_entrada'];
  15. //$_SESSION['recibido']=$_POST['recibido'];
  16.  
  17.  
  18.  
  19. //En la session podrias guardar la conexión por ejemplo y no ir abriendo y cerrando conexiones...
  20.  
  21.  
  22.  
  23.      if (boolActualizarCantidad($_POST['referencia_entrada'],$_POST['recibido'])){
  24.           echo '<p>Entrada actualizada correctamente</p>';
  25.     }else{
  26.           echo '<p>Error</p>';
  27.     }
  28.  
  29. }
  30.  
  31.      $sql = "SELECT * FROM entradas WHERE cantidad>recibido";
  32.      $resultado = mysql_query($sql);
  33.      echo "<html>
  34.        <h1>Actaulizar una entrada</h1>
  35.        <body>
  36.            <table border='1'>
  37.                <tr><td>Referencia Entrada</td><td>Referencia Pedido</td><td>Referencia Material</td><td>Cantidad</td><td>Recibido</td></tr>";
  38. $i = 0 ;
  39. while ($row = mysql_fetch_row($resultado)){
  40.             echo "<form id='actEntradasC".$row[0]."' name='actEntradasC".$row[0]."' method='post' action='formulario.php'>";
  41.             echo "<tr><td><input type='hidden' name='referencia_entrada' value='".$row[0]."' />".$row[0]."</td>
  42.                      <td><input type='hidden' name='referencia_pedido' value='".$row[1]."' />".$row[1]."</td>
  43.                      <td><input type='hidden' name='referencia_material' value='".$row[2]."'/>".$row[2]."</td>
  44.                      <td><input type='hidden' name='cantidad' value='".$row[3]."'/>".$row[3]."</td>
  45.                      <td><input type='text' name='recibido'/></td></tr>";
  46.              echo "<input type='submit' value='Actualizar' id='bot".$row[0]."'></form>"
  47. }
  48. echo "</table>";
  49. echo"<a href='menu.php'>Menu</a></body></html>";
  50.  
  51. //Cierra la conexion
  52.         mysql_close();
  53.        
  54.  
  55. ?>

Lo he modificado de forma que para cada referencia crea un formulario distinto ....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 25/11/2013 a las 02:41