Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Datatables: Cargar datos en un combobox usando mysql

Estas en el tema de Datatables: Cargar datos en un combobox usando mysql en el foro de Frameworks JS en Foros del Web. Buenas, estoy usando el plugin datatables para mostrar los datos de una base de datos, añadir, modificar y eliminar dichos datos. Tengo una tabla para ...
  #1 (permalink)  
Antiguo 18/03/2014, 05:33
Avatar de temerariomalaga  
Fecha de Ingreso: marzo-2013
Ubicación: Londres
Mensajes: 156
Antigüedad: 11 años, 8 meses
Puntos: 9
Datatables: Cargar datos en un combobox usando mysql

Buenas, estoy usando el plugin datatables para mostrar los datos de una base de datos, añadir, modificar y eliminar dichos datos.
Tengo una tabla para los articulos con su nombre y el codigo del proveedor. Quiero que al añadir o modificar registros el campo para el codigo del proveedor sea un combobox que consulte a la tabla proveedor y muestre el nombre de dicho proveedor. Por lo que se ahora mismo solo puedo añadir al combobox los datos de forma estática de la siguiente manera:
Código:
{
            "label": "C\u00f3digo Proveedor",
            "name": "id",
            "type": "select",
            "ipOpts": [
                {
                    "label": "Recambios Serrano",
                    "value": "1"
                },
                {
                    "label": " Liderpaper ",
                    "value": " 2 "
                }
            ]
        }
Si alguien sabe del tema por favor que me ayude para añadir estos datos de forma dinámica realizando una consulta en la tabla de proveedores y que estos datos se rellenen de forma automática. Muchas gracias.
__________________
Málaga Club de Fútbol: Memoria, Compromiso, Fe
  #2 (permalink)  
Antiguo 18/03/2014, 06:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Datatables: Cargar datos en un combobox usando mysql

No conozco el plugin datatables pero or lo que leo es un pluguin para o de jquery en definitiva javascript, por lo tanto lado cliente.

Para poder usar datos de una base de datos necesitas alguna tecnologia del lado servisdor, php por ejemplo, deduzco de tu anterior post que es lo que usas....

Luego si la estructura estatica es la que muestras debes conseguir que php contruya dinamicamente esa estructura estatica.... me explico:


Código PHP:
Ver original
  1. <?php
  2. //conecto con la bbdd
  3. //consulto los datos y los guado en
  4. //$datos un array con los datos
  5. ?>
  6. {
  7.             "label": "C\u00f3digo Proveedor",
  8.             "name": "id",
  9.             "type": "select",
  10.             "ipOpts": [
  11. <?php
  12.     for ($i=0;$i<count($datos);$i++){
  13.           if($i!=0) echo ",";
  14. ?>
  15.                 {
  16.                     "label": "<?php echo $datos[$i]["etiqueta"];?>",
  17.                     "value": "<?php echo $datos[$i]["valor"];?>"
  18.                 }
  19. <?php } ?>
  20.             ]
  21.         }

Este php da como resultado una estructura igual a la que dabas de ejemplo pero con los datos obtenidos de la bbdd, debes insertar esto en el lugar que tenias la estructura estática.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 18/03/2014, 06:30
Avatar de temerariomalaga  
Fecha de Ingreso: marzo-2013
Ubicación: Londres
Mensajes: 156
Antigüedad: 11 años, 8 meses
Puntos: 9
Respuesta: Datatables: Cargar datos en un combobox usando mysql

La tabla me desaparece como si no cargase el plugin. Seguiré probando a ver si no lo estoy haciendo bien del todo.
Gracias
__________________
Málaga Club de Fútbol: Memoria, Compromiso, Fe
  #4 (permalink)  
Antiguo 19/03/2014, 01:51
Avatar de temerariomalaga  
Fecha de Ingreso: marzo-2013
Ubicación: Londres
Mensajes: 156
Antigüedad: 11 años, 8 meses
Puntos: 9
Respuesta: Datatables: Cargar datos en un combobox usando mysql

He intentado cargar los datos como hice con otro archivo, pero ese era un archivo php con un script dentro y si me funcionaba la carga de datos desde la base de datos. Ahora lo he intentado igual pero este archivo es js y parece que no reconoce el php este archivo.
Este es el código php
Código PHP:
Ver original
  1. class Datos{
  2.         function getIdClientes(){
  3.             include"conexion.php";
  4.             mysql_connect($servidor, $usuario, $clave)or die (mysql_errno().mysql_error());
  5.             mysql_select_db($basedatos)or die (mysql_errno().mysql_error());
  6.             result=mysql_query("SELECT id FROM CLIENTES ORDER BY id");
  7.             while($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
  8.                 $id=$row["id"];
  9.             }
  10.             echo $id;
  11.         }
  12.         function getNomClientes(){
  13.             include"conexion.php";
  14.             mysql_connect($servidor, $usuario, $clave)or die (mysql_errno().mysql_error());
  15.             mysql_select_db($basedatos)or die (mysql_errno().mysql_error());
  16.             result=mysql_query("SELECT Nombre FROM CLIENTES ORDER BY id");
  17.             while($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
  18.                 $nombre=$row["Nombre"];
  19.             }
  20.             echo $Nombre;
  21.         }
Y este el archivo js
Código Javascript:
Ver original
  1. <?php
  2.     include"libreria.php";
  3.     $nom=new Datos;
  4.     $cod=new Datos;
  5. ?>
  6.    
  7. (function($){
  8.  
  9. $(document).ready(function() {
  10.     var editor = new $.fn.dataTable.Editor( {
  11.         "ajaxUrl": "php/table.PRESUP.php",
  12.         "domTable": "#PRESUP",
  13.         "fields": [
  14.             {
  15.                 "label": "Serie",
  16.                 "name": "Serie",
  17.                 "type": "text"
  18.             },
  19.             {
  20.                 "label": "Numeroas",
  21.                 "name": "Numeroas",
  22.                 "type": "text"
  23.             },
  24.             {
  25.                 "label": "Codcli",
  26.                 "name": "Codcli",
  27.                 "type": "select",
  28.                 "ipOpts": [
  29.                     {
  30.                         "label": "",
  31.                         "value": ""
  32.                     }
  33.                 ]
  34.             },
  35.             {
  36.                 "label": "Nombre",
  37.                 "name": "Nombre",
  38.                 "type": "text"
  39.             },
  40.             {
  41.                 "label": "Vendedor",
  42.                 "name": "Vendedor",
  43.                 "type": "select",
  44.                 "ipOpts": [
  45.                    
  46.                         {
  47.                             "label": "<?php $nom->getNomClientes();  ?>",
  48.                             "value": "<?php $cod->getIdClientes(); ?>"
  49.                         }
  50.                 ]
  51.             }
  52.         ]
  53.     } );
__________________
Málaga Club de Fútbol: Memoria, Compromiso, Fe
  #5 (permalink)  
Antiguo 19/03/2014, 02:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Datatables: Cargar datos en un combobox usando mysql

Solo tienes que cambiar el nombre del archivo a....

nombrearchivo.js.php

y reconocera el php, a javascript no le importa la extensión mientras el contenido sea correcto...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #6 (permalink)  
Antiguo 19/03/2014, 02:59
Avatar de temerariomalaga  
Fecha de Ingreso: marzo-2013
Ubicación: Londres
Mensajes: 156
Antigüedad: 11 años, 8 meses
Puntos: 9
Respuesta: Datatables: Cargar datos en un combobox usando mysql

Sigue sin funcionar. Esto de las datatables está muy bien solo para ver un bonito grid pero para de contar. Me crearé un formulario propio en PHP y ya le asignaré al botón correspondiente que abra dicho formulario. Gracias por la ayuda.
__________________
Málaga Club de Fútbol: Memoria, Compromiso, Fe

Etiquetas: datatables, javascript, jquery, mysql
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 05:14.