Foros del Web » Programando para Internet » Javascript »

imprimir resultado de una consulta a partir de un combobox seleccionado

Estas en el tema de imprimir resultado de una consulta a partir de un combobox seleccionado en el foro de Javascript en Foros del Web. hola espero me puedan ayudar con el sig problem: en la web tengo un combobox, que recoje codigos de una base de datos que tengo ...
  #1 (permalink)  
Antiguo 15/07/2009, 10:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
imprimir resultado de una consulta a partir de un combobox seleccionado

hola espero me puedan ayudar con el sig problem: en la web tengo un combobox, que recoje codigos de una base de datos que tengo en mysql, y quiero que al momento de elegir uno de esos codigos me muestre el resultado completo, es decir me muestre toda la info que tengo para ese codigo, descripcion, etc claro esta que no debo usar el boton submit, segun me imagino debe ser con un evvento on click que se le aplique a el combobox.

*En esta base no se usa ID en vez se usa el codigo del producto
ojala me puedan mostrar algun ejemplo muchas gracias!!!
  #2 (permalink)  
Antiguo 15/07/2009, 10:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

Bueno, acertaste con lo del onclick, puedes hacer que el mismo invoque el submit del formulario, pero con onchange:

Código HTML:
<form id="miformulario">
<select onchange="document.getElementById('miformulario').submit();" >
...
en el caso de que no uses el id, entonces en el value de los options utiliza el código del producto, y filtras con sql desde ahí
  #3 (permalink)  
Antiguo 15/07/2009, 10:30
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

Cita:
Iniciado por mega0079 Ver Mensaje
hola espero me puedan ayudar con el sig problem: en la web tengo un combobox, que recoje codigos de una base de datos que tengo en mysql, y quiero que al momento de elegir uno de esos codigos me muestre el resultado completo, es decir me muestre toda la info que tengo para ese codigo, descripcion, etc claro esta que no debo usar el boton submit, segun me imagino debe ser con un evvento on click que se le aplique a el combobox.

*En esta base no se usa ID en vez se usa el codigo del producto
ojala me puedan mostrar algun ejemplo muchas gracias!!!
hola, quisas deverias intentar usar frames , don de el top frame es tu formulario y el mainframe es la pagina de resultados
  #4 (permalink)  
Antiguo 15/07/2009, 10:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

maycolalvarez tu solucion me suena coherente pero la verdad no tengoidea bn no tendras algun ejemplo el cual ocupe mysql y el php y que se pueda ver el funcionamiento gracias!! :d
asassa lo que pasa es que no quisiera ocupar frames
  #5 (permalink)  
Antiguo 15/07/2009, 14:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

Tema trasladado desde PHP
  #6 (permalink)  
Antiguo 15/07/2009, 16:26
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

No es algo dificil de hacer con ajax yo estuve haciendo algo parecido te lo adapte un poco mira este es el codigo javascript...
Código PHP:
var objetoXhr Xajax();

var 
READY_STATE_UNINITIALIZED 0;
var 
READY_STATE_LOADING 1;
var 
READY_STATE_LOADED 2;
var 
READY_STATE_INTERACTING 3;
var 
READY_STATE_COMPLETE 4;
var 
READY_STATUS 200;

function 
Xajax() {
    if (
window.XMLHttpRequest) {
        return new 
XMLHttpRequest();
        }else if(
window.ActiveXObject) {
        return new 
ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    
function 
cargarAjax(url,metodo,funcion,parametros,objetoAjax) {
    if (
objetoAjax) {
        
objetoAjax.onreadystatechange funcion;
        
objetoAjax.open(metodo,url,true);
        
objetoAjax.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
        
objetoAjax.send(parametros);
        }
    }

// aqui realizo la llamada y recepcion de datos con ajax y lo inserto
// en el div llenarDatos del codigo html...
    
function ajaxProduct() {
    var 
texto "";
    var 
div document.getElementById('llenarDatos');
        if (
objetoXhr.readyState == READY_STATE_COMPLETE) {
            if (
objetoXhr.status == READY_STATUS) {
                var 
JSON = eval("("+objetoXhr.responseText+")");
                
texto += "<p>Codigo=" JSON.Codigo "</p>";
                
texto += "<p>Producto=" JSON.Producto "</p>";
                
texto += "<p>Marca=" JSON.Marca "</p>";
                
div.innerHTML texto;
            }
        }
}
    
function 
llamarDatos() {
    var 
elSelect document.getElementById('productosSelect');
    var 
codigo elSelect.options[elSelect.selectedIndex].value;
    var 
query "codigo="+codigo+"&nocache="+Math.random();
    
cargarAjax("productos.php","POST",ajaxProduct,query,objetoXhr);
}

window.onload = function() {
    
document.getElementById('boton').onclick llamarDatos;

y el codigo html...

Código HTML:
<select id="productosSelect">
<option value=1>Televisor</option>
<option value=2>Computadora</option>
<option value=3>Mp3</option>
</select>
<input type="button" id="boton" value="Ver Datos"/>
<div id="llenarDatos"></div> 
Como veras hice un codigo html para dar un ejemplo donde puse 3 opciones al select cada value se corresponde con el codigo de un producto en la base de datos, ahora vamos al archivo productos.php...

Código PHP:
<?php
$codigo 
$_POST['codigo'];
$link mysql_connect("localhost","root");
$bd "Ajax";
$elArray = array();
mysql_select_db($bd,$link);
$result mysql_query("SELECT * FROM productos WHERE Codigo = '$codigo'");
while (
$dato mysql_fetch_row($result)) {
        
$codigo $dato[0];
        
$producto $dato[1];
        
$marca $dato[2];
    }
echo 
"{Codigo:'".$codigo."', Producto:'".$producto"', Marca:'" $marca "'}";
?>
aca como ves es una simple consulta a la base donde lo importante es que recibo el codigo que manda javascript mediante la variable $_POST['codigo']; y el formato de salida que le doy al echo, es el formato de un objeto JSON de javascript donde el primer parametro va a ser una propiedad del objeto JSON definido en la funcion ajaxProduct y el 2do es el valor...

Sino entendes algo avisame es bastante largo como para comentarlo todo...

Salu2 y suerte :D

Última edición por djaevi; 16/07/2009 a las 06:39
  #7 (permalink)  
Antiguo 16/07/2009, 05:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

muchisisimas gracias ahora lo reviso y te comento :D muchas gracias de nuevo jeej
  #8 (permalink)  
Antiguo 16/07/2009, 06:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

hmm ya lo revise y lo quise adaptar pero no me keda, en el js debo modificar
texto += "<p>Codigo=" + JSON.Codigo + "</p>";
texto += "<p>Producto=" + JSON.Producto + "</p>";
texto += "<p>Marca=" + JSON.Marca + "</p>";

sera que me puedas decir que cosas debo de cambiar en los archivos :S ?
  #9 (permalink)  
Antiguo 16/07/2009, 14:05
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: imprimir resultado de una consulta a partir de un combobox seleccionado

Mmm lo volvi a copiar el codigo y lo probe y anda por ahi postea algo de tu codigo asi veo a que lo queres adaptar, por cierto te dejo el codigo de la base de datos con la que trabajan los archivos asi podes ver mejor como trabaja y por ahi le agarras la mano :D...

-- phpMyAdmin SQL Dump
-- version 2.10.1
-- Servidor: localhost
-- Tiempo de generación: 16-07-2009 a las 16:55:34
-- Versión del servidor: 5.0.41
-- Versión de PHP: 5.2.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de datos: `ajax`
--
CREATE DATABASE `ajax` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `ajax`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `productos`
--

CREATE TABLE `productos` (
`Codigo` int(5) NOT NULL,
`Nombre` varchar(100) NOT NULL,
`Marca` varchar(100) NOT NULL,
PRIMARY KEY (`Codigo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Volcar la base de datos para la tabla `productos`
--

INSERT INTO `productos` (`Codigo`, `Nombre`, `Marca`) VALUES
(1, 'Televisor', 'Sanyo'),
(2, 'Computadora', 'Compaq Presario'),
(3, 'mp3', 'Samsung'),
(4, 'Celular', 'Nokia');

Este codigo lo pegas en un bloc de notas, lo guardas como localhost con la extension sql osea localhost.sql en txt funciona tambien creo pero por las dudas y vas a tu myadmin y en las bases de datos pones importar y listo probalo denuevo asi por ahi le tomas mejor la mano cualquier cosa avisame :D

salu2
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 01:58.