Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/01/2008, 16:22
marco_sa
 
Fecha de Ingreso: diciembre-2007
Mensajes: 113
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Problema con datos de area de texto de un formulario.

Cita:
Iniciado por GatorV Ver Mensaje
Sigo sin entender, por favor se mas claro en tus dudas, y pon el código que estas utilizando.

Saludos.
Hola GatorV

Esta es la función que se encarga de o bien si esta vacio el area de texto insertar los datos nuevos o bien la deberia actualizar.

Código PHP:
// Comprobamos si hay observaciones en la fecha y en esa delegacion si las hay las actualizamos sino la insertamos

function comprobar_observaciones ($id_delegacion,$fecha){
$consulta_observaciones =mysql_query("SELECT * FROM observaciones WHERE id_delegacion='$id_delegacion' AND fecha='$fecha'");
$observaciones mysql_fetch_array($consulta_observaciones);
echo 
$observaciones['observaciones'];
echo 
$observaciones['fecha'];
if ( empty(
$observaciones['fecha']))

// Insertamos las observaciones si estuviera el campo de observaciones vacio
mysql_query("INSERT INTO observaciones (id_delegacion,fecha,observaciones) values ('$id_delegacion','$fecha','$_POST[observaciones]')") or die (mysql_error());
echo 
"<span class='caja_form_1'>Se han insertado la siguiente observacion ".$observaciones['observaciones']." de fecha: ".$observaciones['fecha']."</span><br>";
}
    else{
    


//Realizamos la actualizacion del campo observaciones

mysql_query("UPDATE observaciones SET observaciones = '$observaciones[observaciones]' WHERE id_delegacion = '$id_delegacion' AND fecha='$fecha'")or die (mysql_error());;

}




Ahi va el codigo de la pagina que tiene el formulario

Código PHP:
<?Php
require 'ulogin.php';
require (
"classes/conectar.Mysql.php");
require (
"var.php");
require 
'funciones/funciones_delegaciones.php';    

    
// Nos envia el dato el link del archivo index.php
    
$id_empresa=$_COOKIE[uempresa];
    
$id_operario=$_GET[id_operario];
    
$id_prefactura=$_GET[id_prefactura];
    
$id_delegacion=$_COOKIE[udelegacion];
    


// Llamamos a la funcion que saca todos los datos del operario
$datos_operario=sacar_t_operario($id_operario);


// Lllamamos a la funcion que saca las observaciones si las hubiera
$observaciones=sacar_observaciones($id_delegacion,$fecha);


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   
 <title>GASTOS OPERARIO <?Php echo $datos_operario ['nombre']." Nº ".$datos_operario ['cod_operario'];?></title>
 <link href="css/estilos.css" rel="stylesheet" type="text/css">
 <link href="css/factu_tablas.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    margin-top: 4px;
}
-->
</style>
   <script language="JavaScript"> 
  
  // Funcion que calcula el total de los gastos

   function calcula_total(){ 
    with (document.frm){ 
     
    valor_g_1.value = new Number(document.frm.valor_g_1.value);
    valor_g_2.value = new Number(document.frm.valor_g_2.value);
    valor_g_3.value = new Number(document.frm.valor_g_3.value);
    valor_g_4.value = new Number(document.frm.valor_g_4.value);
    valor_g_5.value = new Number(document.frm.valor_g_5.value);
    valor_g_6.value = new Number(document.frm.valor_g_6.value);
    valor_g_7.value = new Number(document.frm.valor_g_7.value);
    valor_g_8.value = new Number(document.frm.valor_g_8.value);
    valor_g_9.value = new Number(document.frm.valor_g_9.value);
    valor_g_10.value = new Number(document.frm.valor_g_10.value);
    valor_g_11.value = new Number(document.frm.valor_g_11.value);
    valor_g_12.value = new Number(document.frm.valor_g_12.value);
    
        
      // Suma el total de gastos

     valor_total.value= eval((parseFloat(valor_g_1.value)+parseFloat(valor_g_2.value)+parseFloat(valor_g_3.value)+parseFloat(valor_g_4.value)+parseFloat(valor_g_5.value)+parseFloat(valor_g_5.value)+parseFloat(valor_g_6.value)+parseFloat(valor_g_7.value)+parseFloat(valor_g_8.value)+parseFloat(valor_g_9.value)+parseFloat(valor_g_10.value)+parseFloat(valor_g_11.value)+parseFloat(valor_g_12.value))).toFixed(2);
    
    
 
            
// Se cierran llaves de la función
         } 
   }

  
  </script>
</head> 
 <body> 
  <form method="POST" name="frm" action="procesa_gastos_d.php"> 
    <table width="804" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF">
      <tr align="center" bgcolor="#FFCC66">
        <td width="418" class="texto_negrita"><div align="center">OPERARIO Nº <?Php echo cod_operario($id_operario);?> GASTOS TEXTO<br>
          </div></td>
        <td width="174" align="center"><span class="texto_negrita">Total</span></td>
      </tr>
      <tr align="center">
        <td bgcolor="#FFFFCC"><input name="g_1" type="text" id="g_1" value="Gasoil Matricula BBC0000" size="80"> </td>
        <td><input name="valor_g_1" type="text" id="valor_g_1" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td><input name="g_2" type="text" id="g_2" size="80"></td>
        <td><input name="valor_g_2" type="text" id="valor_g_2" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td bgcolor="#FFFFCC"><input name="g_3" type="text" id="g_3" size="80"> </td>
        <td><input name="valor_g_3" type="text" id="valor_g_3" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td> <input name="g_4" type="text" id="g_4" size="80"> </td>
        <td><input name="valor_g_4" type="text" id="valor_g_4" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td bgcolor="#FFFFCC"> <input name="g_5" type="text" id="g_5" size="80"></td>
        <td><input name="valor_g_5" type="text" id="valor_g_5" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td> <input name="g_6" type="text" id="g_6" size="80"> </td>
        <td><input name="valor_g_6" type="text" id="valor_g_6" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td bgcolor="#FFFFCC"> <input name="g_7" type="text" id="g_7" size="80"> </td>
        <td><input name="valor_g_7" type="text" id="valor_g_7" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td> <input name="g_8" type="text" id="g_8" size="80"> </td>
        <td><input name="valor_g_8" type="text" id="valor_g_8" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td bgcolor="#FFFFCC"><input name="g_9" type="text" id="g_9" size="80"></td>
        <td><input name="valor_g_9" type="text" id="valor_g_9" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td> <input name="g_10" type="text" id="g_10" size="80"> </td>
        <td><input name="valor_g_10" type="text" id="valor_g_10" onChange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td bgcolor="#FFFFCC"> <input name="g_11" type="text" id="g_11" size="80"> </td>
        <td><input name="valor_g_11" type="text" id="valor_g_11" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td> <input name="g_12" type="text" id="g_12" size="80"> </td>
        <td><input name="valor_g_12" type="text" id="valor_g_12" onchange="calcula_total()" value="0" size="8" maxlength="5"></td>
      </tr>
      <tr align="center">
        <td><div align="right" class="botones">
        TOTAL:</div></td>
        <td><input name="valor_total" type="text" id="valor_total" onchange="calcula_total()" value="0" size="8" maxlength="7"></td>
      </tr>
      <tr align="center">
        <td><strong>Borra esto y pon linea a linea cada observaci&oacute;n <br>
          Si no hay ninguna observac&oacute;n en la caja borra todo esto con el ultimo operario<br>
        OBSERVACIONES<br>
        [B]  <textarea name="observaciones" cols="80" rows="6" id="observaciones"> <?Php echo $observaciones['observaciones'];?></textarea>[/B]
        </strong></td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <p align="center">
      <input name="id_delegacion" type="hidden" id="id_delegacion" value="<?PHP //echo $id_delegacion=$_GET[id_delegacion]; ?>">
      <input type="hidden" name="id_operario" value="<?PHP echo $id_operario=$_GET[id_operario]; ?>">
      <input type="hidden" name="id_prefactura" value="<?PHP echo $id_prefactura=$_GET[id_prefactura]; ?>">
      <input type="submit" name="Submit" value="Enviar">
    </p>
 </form> 
 </body> 
</html>



Lo que necesito es poder coger la info si la hubiera claro, del campo observaciones y plasmarlo en un text area y ademas si alguien inserta algun dato mas , pues añadirlo junto al anterior al mismo campo.

Muchas gracias.

Un saludo

La función estaba mal organizada

Es asi la función:

function comprobar_observaciones ($id_delegacion,$fecha,$observaciones){

$consulta_observaciones =mysql_query("SELECT * FROM observaciones WHERE id_delegacion='$id_delegacion' AND fecha='$fecha'");
$observaciones_1 = mysql_fetch_array($consulta_observaciones);
// Comprobamos si habia alguna observacion y si no lo insertamos
if ( empty($observaciones_1['fecha']))
{
mysql_query("INSERT INTO observaciones (id_delegacion,fecha,observaciones) values ('$id_delegacion','$fecha','$_POST[observaciones]')") or die (mysql_error());
echo "<span class='caja_form_1'>Se han insertado la siguiente observacion ".$observaciones['observaciones']." de fecha: ".$observaciones['fecha']."</span><br>";
}
else{


//Realizas la actualizacion las observaciones puesto que hemos comprobado que ya habia alguna observación de esa delegacion y esa fecha

mysql_query("UPDATE observaciones SET observaciones = '$observaciones' WHERE id_delegacion = '$id_delegacion' AND fecha='$fecha'")or die (mysql_error());;

}

}

Saludos y gracias a todos.

Última edición por marco_sa; 11/01/2008 a las 18:16 Razón: Solucionado