Foros del Web » Programando para Internet » Javascript »

Textbox actaualizable con Combobox en PHP

Estas en el tema de Textbox actaualizable con Combobox en PHP en el foro de Javascript en Foros del Web. Hola Amigos, necesito a ver quien me puede dar una mano. Resulta que tengo que hacer un sistema para un restaurant, en el formulario de ...
  #1 (permalink)  
Antiguo 16/11/2009, 11:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Textbox actaualizable con Combobox en PHP

Hola Amigos, necesito a ver quien me puede dar una mano. Resulta que tengo que hacer un sistema para un restaurant, en el formulario de la comanda necesito que al checar DELIVERY me abra un formulario con los datos para el mismo, lo cual ya está hecho, pero dentro del mismo tengo un Combo con los clientes y necesito que al seleccionar uno me rellene solo los datos en los textbox, ejemplo nombre, dirección, teléfono, etc, datos que traigo de la bd como veran. No se si quizá me conviene hacerlo directamente todo con textbox, espero sus sugerencias gracias!
Este es el código!

<HTML>
<HEAD>
<STYLE>
.hideable { position: relative; visibility: visible; }
</STYLE>
<SCRIPT>
function mostrar_ocultar(hide) {
if (document.layers)
document.contenido.visibility = hide ? 'show' : 'hide';
else {
var g = document.all ? document.all.contenido :
document.getElementById('contenido');
g.style.visibility = hide ? 'visible' : 'hidden';
}
}
</SCRIPT>
</HEAD>
<BODY>
<TABLE border=0 cellspacing=1 cellpadding=1>
<TR>
<TD height="134" VALIGN="top">
<FORM NAME="form0">
<font color="red" size="4">Delivery
<INPUT TYPE="checkbox" NAME="Accion" ONCLICK="mostrar_ocultar(this.checked);">
</FORM>
</TD>
<TD>
<SPAN ID="contenido" CLASS="hideable">
<FORM NAME="form1">
<p>
<?php
$result=mysql_db_query($dbname, "SELECT * FROM clientes", $dbcon);
echo" <SELECT size=0 cols=24 NAME=cliente>";
echo"<OPTION value='0'>Elija Cliente</option>";
while($row = mysql_fetch_array($result)){
$id_cliente=$row["id_cliente"];
echo"<OPTION value=$row[0]>$row[1] $row[2]</OPTION>";
echo"</select>";
}
?>
Domicilio <input type="text" name="domicilio" value=''>
Nro <input type="text" size="5" name="nro" value=''>
Depto <input type="text" size="3"name="depto" value=''>
Teléfono <input type="text" size="5" name="telefono" value=''>
</FORM>
</SPAN>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
  #2 (permalink)  
Antiguo 16/11/2009, 13:59
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

Lo tendras que hacer con ajax aqui te dejo un ejemplo que hice con jQuery

Código PHP:
$('#cod_venta').keydown(function (event){
        if(
event.keyCode != 13)
            return;


        var 
_obj = $(this), tip_venta = $('#tipo_venta').val();
        var 
venta = (tip_venta == 1) ? 'Boleta' 'Factura';
        if(
_obj.val() == '')
            return 
alert('Ingrese el codigo de la ' venta);

        $.
post('index.php?Page=ListGuia&TheAction=getVenta&LocalAction=1', {
            
cod_venta_obj.val(), tip_ventatip_venta
        
}, function (response){
            
response = $.evalJSON(response);
            if(
response.error != 'ok')
                return 
alert('No se hallo la ' +  venta);

            $(
'#ven_id').val(response.ven_id);
            $(
'#cli_id').val(response.cli_id);
            $(
'#' + (response.cli_ruc 'nro_factura' 'nro_pedido')).val(response.ven_cod);
            $(
'#cli_nom').val(response.cli_nom);
            $(
'#cli_dir').val(response.cli_dir);
            $(
'#cli_ruc').val(response.cli_ruc);
            $(
'#tip_pago').val(response.ven_tip_pago);

            $(
'#pto_llegada').val(response.cli_dir);

            var 
tr = $('.guia-det').html('');

            
tr.append('<table width="97%" cellpadding="0" cellspacing="0"><tr>'
                
'<th width="18%">Codigo</th><th width="18%">Unidad</th><th width="16%">Cantidad</th>'
                
'<th width="48%">Descripci&oacute;n</th></tr></table>');

            var 
tabla = $('.guia-det table:first');

            $(
response.ven_det).each(function (ielem){
                
tabla.append('<tr align="center"><td>' elem.cod '</td><td>' elem.unid
                    
'</td><td>' elem.cant '</td><td>' elem.desc '</td></tr>');
            });

            $(
'#peso_aprox').attr('disabled'false);

            $(
'.guia-det').show();
        });
    }); 
  #3 (permalink)  
Antiguo 16/11/2009, 17:48
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

no entiendo como hacer lo que yo necesito...
  #4 (permalink)  
Antiguo 16/11/2009, 19:34
 
Fecha de Ingreso: noviembre-2009
Mensajes: 20
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

si encuentras otra solucion que no sea ajax se agradeceria ...tengo el mismo problema y todos dan soluciones con ajax...tema que desconosco totalmente....
  #5 (permalink)  
Antiguo 17/11/2009, 09:25
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

ps, es hora de aprender no crees...

otra solucion seria ir guardando los datos en arrays asociativos para que luego con js hagas la seleccion, pero para esto tendrias que guardar todos los datos.
  #6 (permalink)  
Antiguo 17/11/2009, 11:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

es cierto que lo mejor es hacerlo con ajax, pero no entiendo como puedo hacer lo que yo necesito, si me podés orientar mejor te agradezco!
  #7 (permalink)  
Antiguo 17/11/2009, 11:57
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

Esta bien, pero para esto necesitamos tener conocimientos de json y jquery.
en el elemento select donde muestras a los clientes le tienes que agregar el evento onchange, pero como estamos usando jquery usaremos el metodo change, para lo cual tienes que agregarle un id a todos los elementos, si no sabes jquery seria bueno que revises la documentacion
Código HTML:
<select name="cliente" id="cliente">
............
</select> 
para esto necesitaremos una pagina que nos devuelva datos en formato json

getCliente.php
Código PHP:
// aqui hacemos la coneccion mysq, etc
$rs = @mysql_query('select *from clientes where cli_id=' $_POST['cli_id'])or die(mysql_error());

$row mysql_fetch_array($rs);
echo 
json_encode($row); 
..

Código PHP:
// agregas el evento
$(document).ready(function (){
      $(
'#cliente').change(function (){
            $.
post('getCliente.php', {
                  
// pasando parametros post
                  
cli_id: $(this).val()
            }, function (
response){
                  
//prefiero hacer esto que poner el tipo en el 4 parametro de $.post
                  
response = $.evalJSON(response);
                  $(
'#domicilio').val(response.domicilio);
                  $(
'#nro').val(response.nro);
                  $(
'#telefono').val(response.telefono);
            })
      });
}); 
este ejemplo es para que te deas una idea de como se maneja
  #8 (permalink)  
Antiguo 17/11/2009, 12:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

bárbaro lo pruebo y te aviso! Gracias!
  #9 (permalink)  
Antiguo 18/11/2009, 07:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

amigo no me anda no se como puedo hacerlo... estuve pensando que no quiero que la info me aparezca en un textbox sino como estático, pero eso es lo de menos...
  #10 (permalink)  
Antiguo 18/11/2009, 09:35
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

si eso le cambias hay nada mas,
tal ves es por

Cita:
Iniciado por uselox Ver Mensaje
Código PHP:
// aqui hacemos la coneccion mysq, etc
$rs = @mysql_query('select *from clientes where cli_id=' $_POST['cli_id'])or die(mysql_error());

$row mysql_fetch_array($rs);
echo 
json_encode($row); 
al mysql_fetch_array cambialo por mysql_fetch_assoc ya te daras cuenta, (yo uso frameworks jajaja)
  #11 (permalink)  
Antiguo 19/11/2009, 08:26
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

sigue sin andar... ni siquiera consulta nada no se che...
  #12 (permalink)  
Antiguo 19/11/2009, 09:20
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

Que error te devuelve ?, Bueno sigue la linea de ejecucion testeando si te devuelve lo que necesitas, tbm podrias usar el firebug

ejem.

Cita:
Iniciado por uselox Ver Mensaje
Código PHP:
$(document).ready(function (){
      $(
'#cliente').change(function (){
            $.
post('getCliente.php', {
                  
cli_id: $(this).val()
            }, function (
response){
                  
//aqui agregas esto para verificar que devuelve
                  
return alert(response);
                  
response = $.evalJSON(response);
                  $(
'#domicilio').val(response.domicilio);
                  $(
'#nro').val(response.nro);
                  $(
'#telefono').val(response.telefono);
            })
      });
}); 
  #13 (permalink)  
Antiguo 19/11/2009, 10:01
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

Es que ni siquiera me devuelve error, yo selecciono del combo el cliente y ahi queda, te dejo el código a ver que te parece.

<HTML>
<HEAD>
<STYLE>
.hideable { position: relative; visibility: visible; }
</STYLE>
<SCRIPT>
function mostrar_ocultar(hide) {
if (document.layers)
document.contenido.visibility = hide ? 'show' : 'hide';
else {
var g = document.all ? document.all.contenido :
document.getElementById('contenido');
g.style.visibility = hide ? 'visible' : 'hidden';
}
}
</SCRIPT>
</HEAD>
<BODY>
<TABLE border=0 cellspacing=1 cellpadding=1>
<TR>
<TD height="134" VALIGN="top">
<FORM NAME="form0">
<font color="red" size="4">Delivery
<INPUT TYPE="checkbox" NAME="Accion" ONCLICK="mostrar_ocultar(this.checked);">
</FORM>
</TD>
<TD>
<SPAN ID="contenido" CLASS="hideable">
<FORM NAME="form1" method=POST action=traerDatos.php>
<p>
<?php
$result=mysql_db_query($dbname, "SELECT * FROM clientes", $dbcon);
echo"Seleccione cliente <SELECT size=0 cols=24 NAME=id_cliente onChange=\"cargarClientes(this.value);\">";
echo"<OPTION value='0'>Elija Cliente</option>";
while($row = mysql_fetch_array($result)){
$id_cliente=$row["id_cliente"];
$domicilio=$row["domicilio"];
$nombre=$row["nombre"];
$apellido=$row["apellido"];
$nro=$row["numero"];
$depto=$row["depto"];
$telefono=$row["telefono"];
echo"<OPTION value=$row[0]>$row[1] $row[2]</OPTION>";
echo"</select>";
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script type="text/javascript">
function nuevoAjax() {
var xmlhttp=false;
var ids = ["Msxml2.XMLHTTP.7.0","Msxml2.XMLHTTP.6.0","Msxml2. XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP. 3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
return xmlhttp;
}
$(document).ready(function (){
$('#nombre').change(function (){
$.post('getClientes.php', {
// pasando parametros post
id_cliente: $(this).val()
}, function (response){
//prefiero hacer esto que poner el tipo en el 4 parametro de $.post
response = $.evalJSON(response);
$('#domicilio').val(response.domicilio);
$('#numero').val(response.numero);
$('#telefono').val(response.telefono);
})
});
});
</script>

</head>

<body onload="cargarClientes();">
</div>
<div>
Nombre:
<div id="nombre">$nombre
</div>
Apellido:
<div id="Apellido">
</div>
Direccion:
<div id="Direccion" value=$direccion></div>
Numero:
<div id="Numero"></div>
Depto:
<div id="Depto"></div>
Telefono:
<div id="Telefono"></div>


getClientes.php


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<?php
include ("peligro.php");
include ("conexion.php");
// aqui hacemos la coneccion mysq, etc
$rs = mysql_db_query($dbname, "SELECT * FROM clientes WHERE id_cliente=" . $_POST['id_cliente'])or die(mysql_error());
$row = mysql_fetch_assoc($rs);
echo json_encode($row);
?>
<body>
</body>
</html>
  #14 (permalink)  
Antiguo 19/11/2009, 11:46
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

Creo que te estas confundiendo revisa el manual de jquery.
debes de hacerlo de la siquiente manera.

quita del <body> onload="cargarClientes();"

cambia esto:
Cita:
Iniciado por basko3k Ver Mensaje
$(document).ready(function (){
$('#nombre').change(function (){
$.post('getClientes.php', {
// pasando parametros post
id_cliente: $(this).val()
}, function (response){
//prefiero hacer esto que poner el tipo en el 4 parametro de $.post
response = $.evalJSON(response);
$('#domicilio').val(response.domicilio);
$('#numero').val(response.numero);
$('#telefono').val(response.telefono);
})
});
});
por esto:

Código PHP:
var cargarClientes = function (obj){
    
obj.onchange = function (){
        var 
ajax nuevoAjax();
        
ajax.open('POST''getClientes.php'true);
        
ajax.onreadystatechange = function() {
            if (
ajax.readyState == 4) {
                
// verificar que esta respondiendo
                
alert(ajax.responseText);
                
response = eval(ajax.responseText);
                
document.getElementById('nombre').value response.nombre//igual a la columna en db
                
document.getElementById('Apellido').value response.Apellido//igual a la columna en db
                
document.getElementById('Direccion').value response.Direccion//igual a la columna en db
                
document.getElementById('Numero').value response.Numero//igual a la columna en db
                
document.getElementById('Depto').value response.Depto//igual a la columna en db
                
document.getElementById('Telefono').value response.Telefono//igual a la columna en db

             
}
        }
        
ajax.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
        
ajax.send("id_cliente=" obj.value);
    }

y en getClientes.php quita todo el html.

asi te de deve de quedar

Código HTML:
<HTML>
<HEAD>
<STYLE>
.hideable { position: relative; visibility: visible; }
</STYLE>
<script>
function mostrar_ocultar(hide) {
	if (document.layers)
		document.contenido.visibility = hide ? 'show' : 'hide';
	else {
		var g = document.all ? document.all.contenido : document.getElementById('contenido');
		g.style.visibility = hide ? 'visible' : 'hidden';
	}
}
function nuevoAjax() {
	var xmlhttp=false;
	var ids = ["Msxml2.XMLHTTP.7.0","Msxml2.XMLHTTP.6.0","Msxml2. XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP. 3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	return xmlhttp;
}

var cargarClientes = function (obj){
	obj.onchange = function (){
		var ajax = nuevoAjax();
		ajax.open('POST', 'getClientes.php', true);
		ajax.onreadystatechange = function() {
			if (ajax.readyState == 4) {
				// verificar que esta respondiendo
				alert(ajax.responseText);
				response = eval(ajax.responseText);
				document.getElementById('nombre').value = response.nombre; //igual a la columna en db
				document.getElementById('Apellido').value = response.Apellido; //igual a la columna en db
				document.getElementById('Direccion').value = response.Direccion; //igual a la columna en db
				document.getElementById('Numero').value = response.Numero; //igual a la columna en db
				document.getElementById('Depto').value = response.Depto; //igual a la columna en db
				document.getElementById('Telefono').value = response.Telefono; //igual a la columna en db

		 	}
		}
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("id_cliente=" + obj.value);
	}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</HEAD>
<BODY>
<TABLE border=0 cellspacing=1 cellpadding=1>
<TR>
<TD height="134" VALIGN="top">
<FORM NAME="form0">
<font color="red" size="4">Delivery
<INPUT TYPE="checkbox" NAME="Accion" ONCLICK="mostrar_ocultar(this.checked);">
</FORM>
</TD>
<TD>
<SPAN ID="contenido" CLASS="hideable">
<FORM NAME="form1" method=POST action=traerDatos.php>
<p>
<?php
$result = mysql_db_query($dbname, "SELECT * FROM clientes", $dbcon);
echo "Seleccione cliente <SELECT size=0 cols=24 NAME=id_cliente onChange=\"cargarClientes(this);\">";
echo "<OPTION value='0'>Elija Cliente</option>";
while($row = mysql_fetch_array($result)){
	$id_cliente=$row["id_cliente"];
	$domicilio=$row["domicilio"];
	$nombre=$row["nombre"];
	$apellido=$row["apellido"];
	$nro=$row["numero"];
	$depto=$row["depto"];
	$telefono=$row["telefono"];
	echo"<OPTION value=$row[0]>$row[1] $row[2]</OPTION>";
	echo"</select>";
}
?>
		Nombre:
		<div id="nombre">$nombre</div>
		Apellido:
		<div id="Apellido"></div>
		Direccion:
		<div id="Direccion" value=$direccion></div>
		Numero:
		<div id="Numero"></div>
		Depto:
		<div id="Depto"></div>
		Telefono:
		<div id="Telefono"></div>
    	 </FORM>
  		</SPAN>
	  </TD>
     </TR>
   </TABLE>
 </BODY>
</HTML> 
getClientes.php
Código PHP:
<?php
include ("peligro.php");
include (
"conexion.php");
// aqui hacemos la coneccion mysq, etc
$rs mysql_db_query($dbname"SELECT * FROM clientes WHERE id_cliente=" $_POST['id_cliente'])or die(mysql_error());
$row mysql_fetch_assoc($rs);
echo 
json_encode($row);
?>

Última edición por uselox; 19/11/2009 a las 11:55
  #15 (permalink)  
Antiguo 19/11/2009, 14:35
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

no amigo no anda, no hay caso lo he probado de mil formas y no hay caso... no se te cuento tengo easyphp1.7 instalado con mysql y apache no se quizá necesite algún complemento más... no se...
  #16 (permalink)  
Antiguo 19/11/2009, 15:42
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

dame la estructura de la tabla clientes
  #17 (permalink)  
Antiguo 20/11/2009, 07:25
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

CREATE TABLE `clientes` (
`id_cliente` int(11) NOT NULL auto_increment,
`nombre` varchar(20) NOT NULL default '',
`apellido` varchar(20) NOT NULL default '',
`direccion` varchar(40) NOT NULL default '',
`numero` int(11) NOT NULL default '0',
`depto` int(11) NOT NULL default '0',
`telefono` int(11) NOT NULL default '0',
PRIMARY KEY (`id_cliente`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
  #18 (permalink)  
Antiguo 20/11/2009, 09:40
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

Ultima respuesta:

Código PHP:
var cargarClientes = function (obj){ 
    
obj.onchange = function (){ 
        var 
ajax nuevoAjax(); 
        
ajax.open('POST''getClientes.php'true); 
        
ajax.onreadystatechange = function() { 
            if (
ajax.readyState == 4) { 
                
// verificar que esta respondiendo 
                
alert(ajax.responseText); 
                
response = eval(ajax.responseText); 
                
document.getElementById('nombre').value response.nombre;
                
document.getElementById('Apellido').value response.apellido;  
                
document.getElementById('Direccion').value response.direccion;  
                
document.getElementById('Numero').value response.numero;  
                
document.getElementById('Depto').value response.depto;  
                
document.getElementById('Telefono').value response.telefono
             } 
        } 
        
ajax.setRequestHeader("Content-Type""application/x-www-form-urlencoded"); 
        
ajax.send("id_cliente=" obj.value); 
    } 

  #19 (permalink)  
Antiguo 20/11/2009, 10:07
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Textbox actaualizable con Combobox en PHP

Esta si es la ultima y si no sale matate hahaha..

Código HTML:
<HTML>
<HEAD>
<STYLE type="text/css">
.hideable { position: relative; visibility: visible; }
</STYLE>
<script type="text/javascript">
function mostrar_ocultar(hide) {
	if (document.layers)
		document.contenido.visibility = hide ? 'show' : 'hide';
	else {
		var g = document.all ? document.all.contenido : document.getElementById('contenido');
		g.style.visibility = hide ? 'visible' : 'hidden';
	}
}
function nuevoAjax() {
	var xmlhttp=false;
	var ids = ["Msxml2.XMLHTTP.7.0","Msxml2.XMLHTTP.6.0","Msxml2. XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP. 3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	return xmlhttp;
}

var cargarClientes = function (obj){
	var ajax = nuevoAjax();
	ajax.open('POST', 'getClientes.php', true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4) {
			// verificar que esta respondiendo
			alert(ajax.responseText);
			response = eval('(' + ajax.responseText + ')');
			
			document.getElementById('nombre').innerHTML = response.nombre;
			document.getElementById('Apellido').innerHTML = response.apellido;
			document.getElementById('Direccion').innerHTML = response.direccion; 
			document.getElementById('Numero').innerHTML = response.numero; 
			document.getElementById('Depto').innerHTML = response.depto; 
			document.getElementById('Telefono').innerHTML = response.telefono; 
		 	}
	}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("id_cliente=" + obj.value);
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</HEAD>
<BODY>
<TABLE border=0 cellspacing=1 cellpadding=1>
<TR>
<TD height="134" VALIGN="top">
<FORM NAME="form0">
<font color="red" size="4">Delivery
<INPUT NAME="Accion" TYPE="checkbox" ONCLICK="mostrar_ocultar(this.checked);" value="" checked>
</FORM>
</TD>
<TD>
<SPAN ID="contenido" CLASS="hideable">
<FORM NAME="form1" method=POST action=traerDatos.php>
<p>
<?php
# coneccion a la db
require_once('conexion.php');
$result = mysql_db_query($dbname, "SELECT * FROM clientes", $dbcon);
echo "Seleccione cliente <SELECT size=0 cols=24 NAME=id_cliente onChange=\"cargarClientes(this);\">";
echo "<OPTION value='0'>Elija Cliente</option>";
while($row = mysql_fetch_array($result)){
	/*
	$id_cliente=$row["id_cliente"];
	$domicilio=$row["domicilio"];
	$nombre=$row["nombre"];
	$apellido=$row["apellido"];
	$nro=$row["numero"];
	$depto=$row["depto"];
	$telefono=$row["telefono"];
	*/
	echo"<OPTION value=$row[0]>$row[1] $row[2]</OPTION>";
}
echo"</select>";
?>
<div class="box-costumer">
		Nombre: <label id="nombre"></label><br />
		Apellido: <label id="Apellido"></label><br />
        Direccion: <label id="Direccion"></label><br />
        Numero: <label id="Numero"></label><br />
		Depto: <label id="Depto"></label><br />
		Telefono: <label id="Telefono"></label>
</div>
    	 </FORM>
  		</SPAN>
	  </TD>
     </TR>
   </TABLE>
 </BODY>
</HTML> 

getClientes.php
Código PHP:
<?php 
include ("peligro.php"); 
include (
"conexion.php"); 
$rs mysql_db_query($dbname"SELECT * FROM clientes WHERE id_cliente=" $_POST['id_cliente'])or die(mysql_error()); 
$row mysql_fetch_assoc($rs); 
echo 
json_encode($row); 
?>

Última edición por uselox; 20/11/2009 a las 10:16
  #20 (permalink)  
Antiguo 20/11/2009, 14:47
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

te muestro el error que me da
<b>fatal error</b> call to undefinied function: jason:encode()in<b>c:\...\..\..\getClientes.php on line 6

no me digas eso...que ganas no me faltan cuando no me sale...jajaja!

Última edición por basko3k; 20/11/2009 a las 14:52
  #21 (permalink)  
Antiguo 24/11/2009, 15:18
 
Fecha de Ingreso: noviembre-2007
Mensajes: 30
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Textbox actaualizable con Combobox en PHP

Veo que te enojaste enserio jajaja! Bueno a ver si me podés ayudar con esto y no molesto más...por ahora... Resulta que ya armo el formulario el cual queda asi:
Rubro Detalle Cantidad Precio U Total
Comidas Pancho 1 5 5
Comidas Alemana 2 7 14

Bebidas Pepsi 2 5 10
Bebidas Mirinda 1 5.7 5.7

Total a Pagar 19.7
Pero como verás me suma los dos últimos valores, yo necesito que me sume el total y no se como, me podrás dar una mano?
Te dejo el código. Gracias!!!

<?php
include ("conexion.php");
include ("peligro.php");
$hoy=date("y/m/d");
$hora=date("H:i");
$usuario=$_SESSION["nombre"];
$apellido=$_SESSION["apellido"];
$obserC=$_POST["obsercomida"];
$obserB=$_POST["obserbebida"];

echo"<center><img alt='logo' src='Jalisco frente.jpg' height=20% width=50%>";
echo"<table align=center border=0 cellspacig=2 cellpadding=2>";
echo"<tr><td><font size=3><b> Rubro</td><td><b>Detalle</td></b><td><b>Cantidad</td></b><td><b>Precio U</td></b><td><b>Total</td></tr></b>";
$i=0;
for($i=0; $i<=4; $i++){
$codigoC[$i]=$_POST["$i"];
$cantidadC[$i]=$_POST["cant$i"];
if($codigoC[$i]!=0){
$result=mysql_db_query($dbname, "SELECT * FROM comida WHERE id_comida='$codigoC[$i]' ", $dbcon);
if($row=mysql_fetch_array($result))
do{
$comida=$row["nombrec"];
$precioC=$row["precioC"];
}
while($row=mysql_fetch_array($result));
$totalC ="$precioC"*"$cantidadC[$i]";
echo"<tr><td>Comidas<td>$comida</td><td>$cantidadC[$i]</td><td>$precioC</td><td>$totalC</td>";
}
}
echo"<tr><td>Observaciones</td><td>$obserC</td>";


$e=10;
for($e=10; $e<=14; $e++){
$codigoB[$e]=$_POST["$e"];
$cantidadB[$e]=$_POST["cant$e"];
if($codigoB[$e]!=0){
$result1=mysql_db_query($dbname, "SELECT * FROM bebidas WHERE id_bebida='$codigoB[$e]'", $dbcon);
if($row=mysql_fetch_array($result1))
do{
$bebida=$row["nombre_b"];
$precioB=$row["precioB"];}
while($row=mysql_fetch_array($result1));
$totalB="$precioB"*"$cantidadB[$e]";
echo"<tr><td>Bebidas <td> $bebida <td>$cantidadB[$e]</td><td>$precioB</td><td>$totalB</td>";
}
}
$sumaT="$totalB"+"$totalC";
echo"<tr><td>Observaciones</td><td>$obserB</td>";
echo"<tr><td>Total a Pagar</td><td>$sumaT</td>";
echo"</table>";
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 13:18.