15/08/2014, 09:07
|
| | Fecha de Ingreso: enero-2014
Mensajes: 9
Antigüedad: 10 años, 10 meses Puntos: 0 | |
Respuesta: ¿Cómo cargar datos a un textbox dependiendo de un combo? primero que nada tenes que saber que javascript no se comunica con la base de datos directamente , lo hace a travez de Ajax , y vas a tener que usar php tambien de intermediario en el traspaso de datos te pongo un ejemplo de como seria , pero capas vas a tener que investigar un poco sobre ajax y probar un poco para entenderlo . aca va !
// codigo js con ajax
var conexion;
function crearXMLHttpRequest() //crea nuevo objeto Ajax
{
var a;try{a = new XMLHttpRequest();}
catch(e){try{a = new ActiveXObject('Msxml2.XMLHTTP');}
catch(e){try{a = new ActiveXObject('Microsoft.XMLHTTP');}
catch(e){alert('Your browser doesn\'t support ajax');a=false;}
}}return a;
}
//este objeto ajax de arriba se pone una vez sola y despues se puede llamar muchas veces
function EnviaPeticion(){
SelectCombo= document.getElementById("id_del_combo").value; //la opcion elejida en el combo
conexion=crearXMLHttpRequest();
conexion.open("POST", 'funciones.php',true); //el php a donde se va enviar los datos
conexion.onreadystatechange = procesarEventos; //la funcion que va a procesar la respuesta de php
conexion.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
conexion.send('PideDato=ok&SelectCombo='+SelectCom bo); //el envio de datos la variable con el selecionado
}
function procesarEventos(){
if( conexion.readyState == 4 && conexion.status==200) {
if (conexion.responseText) {
var resultado = conexion.responseText; //este es el resultado del echo php del resultado de le consulta abajo y sepuede usar ya en js
document.getElementById("id_campo_texto").innerHTM L = resultado ; // si fuera un campo de texto o lavel se puede mostrar el dato recibido de php abajo
}
}
}
//----------------------codigo php funciones.php -------------------
include('conn.php'); //esta esla conexion a la base de datos en cso q la tengas en otro archivo la llama
$SelectCombo = $_POST['SelectCombo']; //la variable que enviamos arriba la obtiene por post
function ConsultaElDato(){
global $conn,$SelectCombo; //llama las variables de conexion y la que mandamos adentro de la funcion
$select = mysql_query("SELECT presio FROM tabla WHERE categoria = '".$SelectCombo."'");
while ($row=mysql_fetch_assoc($select )){
$presio = $row["presio"]; //obtiene el presio de la consulta
}
echo $presio; //al hacer echo , el resultado de la variable ya se puede tomar en javascript
}
if($_POST["PideDato"] && isset($_POST["SelectCombo"])){ // si recibe estos datos ejecuta la funcion de arriba
ConsultaElDato();
}
en resumen , (1) la primera funcion obtiene el dato del combo box que se seleciono y lo manda por ajax a un archivo php
(2) el arhivo php cuando recibe los datos en el (if) ejecuta la funcion que hace las consultas a MYSQL y extrae el dato que quieras, en este caso mandamos el dato de una secion espesifica que podria ser Autos y con ese dato busca en la BD esa categoria,
(3) al hacer el echo del resultado ya se puede atrapar la el resultado desde js con la segunda funcion javascript ya que (conexion.responseText)
es igual al resultado del echo php, y ahi si quers podes mostrar el dato en cualquier label de la web o text o lo que quieras, espero te sirva y se entienda , saludos
Última edición por maurosoft2012; 15/08/2014 a las 09:10
Razón: incompleto
|