Foros del Web » Programando para Internet » PHP »

Consulta.. error al enviar parametros y edición

Estas en el tema de Consulta.. error al enviar parametros y edición en el foro de PHP en Foros del Web. Hola, tengan buenos días... Lo que sucede es que necesito hacer una edición de registros, pero no he podido, realmente he intentando pero no he ...
  #1 (permalink)  
Antiguo 21/04/2015, 09:23
 
Fecha de Ingreso: marzo-2015
Mensajes: 20
Antigüedad: 9 años, 1 mes
Puntos: 1
Consulta.. error al enviar parametros y edición

Hola, tengan buenos días...
Lo que sucede es que necesito hacer una edición de registros, pero no he podido, realmente he intentando pero no he conseguido hacerlo... me gustaría saber si uds pueden ayudarme a realizarlo... pondré los códigos con los que estoy trabajando.

Aquí es donde listo las facturas a modificar.
Código PHP:
Ver original
  1. $usu =new Consultar();         
  2.     $usu->consulta("Select a.num_pedido,val_factura,fecha_factura,id_pedido, b.des_forma_de_pago, c.nombre_completo, d.descripcion,
  3. d.id_estado, e.id_envio, id_ciudad_envio, f.nombre  from factura a, forma_de_pago b, cliente c, facturas_envios_estados d,
  4. facturas_envios e, ciudades f WHERE a.id_forma_de_pago=b.id_forma_de_pago AND a.id_cliente=c.id_cliente AND a.id_envio=e.id_envio
  5. AND e.id_estado=d.id_estado AND e.id_ciudad_envio=f.id_ciudad AND e.id_estado=1 ORDER BY fecha_factura  DESC");
  6.  
  7.     for ($i=0; $i <sizeof($usu->datos); $i++)
  8.     {
  9.  
  10.     echo "<input type='hidden' id='envio' name='enviar' value=".$usu->datos[$i][8].">";
  11. /*  $envio = $usu->datos[$i][8];
  12.         echo $i." /".$envio."<br>";
  13. */
  14.         //$usu = $a[$i];
  15.         //print_r($envio);
  16.     if ($usu->datos[$i][6] !== 'Entregado') {
  17.         $color='#F69292';
  18.     }else{
  19.         $color = '#FFFFFF';
  20.     }
  21.     //print($rojo);
  22. /*
  23.     ERROR !!! ::: THE METHOD MUST BE A STRING ::: !!!
  24. */
  25.         echo "<tr bgcolor='".$color."'>
  26.         <td>".$usu->datos[$i][0]."</td>
  27.         <td>".$usu->datos[$i][5]."</td>
  28.         <td>".$usu->datos[$i][2]."</td>
  29.         <td>".$usu->datos[$i][10]."</td>
  30.         <td>".$usu->datos[$i][6]."</td>
  31.         <td> ".number_format($usu->datos[$i][1])."</td>
  32.         <td>";?> <button class="btn" data-toggle="modal" id="#mimodal" data-target="#mimodaleditar" >Editar
  33.                 </button>
  34.             <div class="modal fade" id="mimodaleditar" tabindex="-1" role="dialog" aria-labelledby="mimodalLabel" aria-hidden="true">
  35.             <div>
  36.                     <?php include("editar_factura.php");?>
  37.             </div>
  38.             </div>
  39.  
  40.         <td>Detalles</td>
  41.         <td>Eliminar</td></tr>
  42. <?php
  43.     }

Este archivo es el que aparece como "editar_factura.php",
Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>MANEJO DE CAMIONES</title>
  5.     <!--JQuery-->
  6.      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
  7.  
  8.     <!--Bootstrap-->
  9.     <script type="text/javascript" src="js/bootstrap.js"></script>
  10.     <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
  11.  
  12.     <!--Css-->
  13.     <link rel="stylesheet" type="text/css" href="css/style.css">
  14.  
  15.     <!--Loging-->
  16.     <script type="text/javascript" src="js/login.js" ></script>
  17.  
  18.     <!--Ajax CRUD-->
  19.     <script type="text/javascript" src='js/crud.js' ></script><!--?version=<?php //echo date("WmdGis"); ?>-->
  20.  
  21.     <meta name="viewport" content="width=device-width, initial-scale=1"><!--Permite el zoom para funcionalidad en moviles.-->
  22.     <meta http-equiv="X-UA.Compatible" content="IE=Edge">
  23.     <title></title>
  24.     <meta charset="utf-8">
  25.  
  26. </head>
  27. <body>
  28.         <div class="well col-md-8 col-md-offset-2" class="form-horizontal">
  29.                 <center><h1>INGRESE LOS DATOS</h1></center>
  30.  
  31.             <form class="form-horizontal" action="#" method="post" role="form">
  32.  
  33.                 <div>
  34.  <?php
  35.         //require("crud.php");
  36. /*
  37. **
  38.  
  39. **
  40. */      //INSTANCIANDO LA CLASE CLASE Conectar, QUE TRAE LOS DATOS DE LA CONEXION AL SERVIDOR DE POSTGRESQL;
  41.         include_once("includes/conexion.php");
  42.         $conectar = new Conectar();
  43.         $conectar->con();
  44.  
  45.         //ESTRAYENDO LOS DATOS DE LA TABLA forma_de_pago, PARA MOSTRARLOS EN EL <SELECT>;
  46.  
  47.         $db = new Consultar();
  48.         $db->consulta("SELECT * FROM facturas_envios_estados");  //-> q es una funcion o un atributo de ese objeto
  49.  
  50.         echo "<label class='col-md-3 control-label' for='nombre'>Estado de factura</label>";
  51.         echo "<div class='col-md-8'>"; 
  52.         echo "<select class='form-control' name='estado' id='estado'><option value=''>Estado de la factura<br>";       
  53. //NO FUE POSIBLE HACER EL CICLO QUE ME MUESTRA TODOS LAS POSICIONES DE LA MATRIZ
  54.                 echo "<option value=".$db->datos[0][0].">".ucwords($db->datos[0][1]);
  55.                 echo "<option value=".$db->datos[1][0].">".ucwords($db->datos[1][1]);
  56.             //0 = CODIGO ---- 1 = DESCRIPCION      
  57.         echo"</select>";
  58.  
  59. ?>
  60.             </div>
  61.             <div>
  62.                 <label class="col-md-3 control-label" for="ced_per_recibe">Cédula persona que recibe</label>
  63.                 <div class="col-md-8">
  64.                     <input class="form-control" type="text" name="ced_per_recibe" id="ced_per_recibe" placeholder="">  
  65.                 </div>
  66.             </div>
  67.             <div>
  68.                 <label class="col-md-3 control-label" for="per_recibe">Nombre completo</label>
  69.                 <div class="col-md-8">
  70.                     <input class="form-control" type="text" name="per_recibe" id="per_recibe" placeholder="">  
  71.                 </div>
  72.             </div>
  73.             <div>
  74.                 <label class="col-md-3 control-label" for="fecha_entrega">Fecha de entrega</label>
  75.                 <div class="col-md-8">
  76.                     <input class="form-control" type="datetime-local" name="fecha_entrega" id="fecha_entrega" />   
  77.                 </div>
  78.             </div>
  79. <?php
  80.  
  81.     if (isset($_POST['estado'])) {
  82.        
  83.         $id = $_POST['id_envio'];
  84.         //echo "Welcome ".$id;
  85.         $estado = $_POST['estado'];
  86.         $ced_per_recibe = $_POST['ced_per_recibe'];
  87.         $per_recibe = strtoupper($_POST['per_recibe']);
  88.         $fecha_entrega = $_POST['fecha_entrega'];
  89.         //$id_usuario = $_SESSION['id_usuario'];
  90.  
  91.     }
  92.  
  93. /*  $crud = new crud();
  94.     $crud->modificar($id,$estado,$per_recibe,$ced_per_recibe,$fecha_entrega);
  95. */
  96. ?>
  97.  
  98.             <div class="col-md-2 col-md-offset-3">
  99.                         <input class="btn" type="button" onclick="opciones_factura(envio)" value="Modificar">&nbsp;&nbsp;
  100.                         <button type="submit" data-dismiss="modal" aria-hidden="true" class="btn">Cerrar</button>
  101.             </div>
  102.         </form>
  103.         </div>
  104. </body>
  105. </html>


Este es el script por donde paso los datos....
Código Javascript:
Ver original
  1. function opciones_factura(funcion, env){
  2.  
  3.     //var env = new Array();
  4. //var envio =  document.getElementById('envio').value;
  5. //  alert("Id de envio es: "+ envio);
  6.  
  7.     alert("Welcome..."+ env);
  8.     $.ajax({
  9.         type: "POST",
  10.         data:{function:funcion, envio},
  11.         url: "crud.php",
  12.         success: function (msg) {
  13.             if(msg!==''){
  14.                 alert(msg);
  15.             }
  16.         }
  17.     });
  18. }

Este script es el que hace la edición...
Código PHP:
Ver original
  1. <?php
  2. $obj=new crud();
  3. //TRAER LA FUNCION DESDE EL crud.js, FUNCION data{function};
  4. $function=$_REQUEST['function'];
  5. $obj->$function();
  6.  
  7. class crud{
  8.  
  9.     function hola(){
  10.         echo "a";
  11.     }
  12.  
  13.     /*
  14.     *PARA ACTUALIZAR,
  15.     *estado, persona que recibe, cedula persona que recibe, fecha entrega, evidencia fotográfica
  16.  
  17.     para colocar variable por defecto se iguala a null... $variable = null;
  18.     */
  19.     function modificar($id,$estado,$per_recibe,$ced_per_recibe,$fecha_entrega){
  20.  
  21.         if (!is_numeric($id) or (!is_numeric($estado)))  {
  22.             echo "Los valores están incorrectos";
  23.             return;
  24.         }
  25.             $sql="UPDATE facturas_envios SET id_estado=".$estado.", per_recibe=".$per_recibe.", ced_per_recibe=".$ced_per_recibe.
  26.             ", fecha_entrega=".$fecha_entrega."WHERE id_envio=".$id;
  27.             echo $sql;
  28.             //pg_query($sql);
  29.     }
  30. }


Y bueno.... realmente no sé si esté haciendo bien las cosas, lo que buscaba primero es por un alert mostrar la id de cada factura, lo cual no me sale, sin importa en que factura clickee el boton "Editar", me muestra sólo el id de la primer factura en la tabla... luego pues sería que hiciera la edición...
No estoy seguro si esté enviando bien los parámetros o algo así... Ojalá puedan ayudarme, y gracias a todos.
  #2 (permalink)  
Antiguo 21/04/2015, 09:29
 
Fecha de Ingreso: marzo-2015
Mensajes: 20
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: Consulta.. error al enviar parametros y edición

Cabe anotar, que en el script .js, descomento cualquiera de las tres líneas comentadas y el resultado es el que les comenté, en este momento que están comentadas, pues me aparece sólo "Welcome...= undefined"
  #3 (permalink)  
Antiguo 22/04/2015, 08:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consulta.. error al enviar parametros y edición

Si tu función de Javascript opciones_factura() espera dos argumentos ¿por qué sólo le pasas uno?

Código PHP:
Ver original
  1. onclick="opciones_factura(envio)"

Además no sabemos que sea "envio" ¿una variable? ¿un avión?

Pues no se tú, pero no se entiende si tu problema es HTML, Javascript o PHP, ¿o todo al mismo tiempo?

Así no se puede ayudar, si no aislas el problema es complicado determinar que pasa sólo con leer tu código, que además se ve muy mal escrito.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: edición, fecha, html, parametros, registro, select, sql, tabla, variable
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:34.