Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/11/2009, 16:34
jjsoft
 
Fecha de Ingreso: noviembre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Selects Dependientes php+mysql

Yo tengo un problema de mayor magnitud. Necesito cargar una información que esta en una bd en 6 campos de texto, dependiendo de la selección de un dato de un listbox previamente cargado y que a su vez se puedan modificar los campos de textos y que la información modificada se modifique tambien en la base de datos (todo en ajax)

aquí dejo parte del código php:


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>

<script type="text/javascript" src="archivo/select1.js"></script>
</head>

<body>

<?php
$conexion=mssql_connect("soportador","administrado r","12345");
mssql_select_db("entrepanas",$conexion);
?>

<select id="select1" size="20" onchange="traerDatos(this.value)" >
<?php
$query="select CodProd, Descrip from SAPROD where CodProd<'0011'";
$result=mssql_query($query);
if ($result)
{
while ($row=mssql_fetch_row($result))
{
echo "<option value='$row[0]'>$row[0] $row[1]</option>";
}}
else
{
echo "ocurrio un error ! ".mssql_error();
}




?>
</select> <br />

Puesto 1 <input type="text" id="puesto_1" name="puesto_1" /> <br />
Puesto 2 <input type="text" id="puesto_2" name="puesto_2" /> <br />
Puesto 3 <input type="text" id="puesto_3" name="puesto_3" /> <br />
Puesto 4 <input type="text" id="puesto_4" name="puesto_4" /> <br />
Puesto 5 <input type="text" id="puesto_5" name="puesto_5" /> <br />
Puesto 6 <input type="text" id="puesto_6" name="puesto_6" /> <br />


</body>
</html>

mi archivo js:

function nuevoAjax()
{
var xmlhttp=false;
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }

return xmlhttp;
}

function traerDatos(art)
{

var cod=art;
var campo1=document.getElementById("Puesto_1");
var campo2=document.getElementById("Puesto_2");
var campo3=document.getElementById("Puesto_3");
var campo4=document.getElementById("Puesto_4");
var campo5=document.getElementById("Puesto_5");
var campo6=document.getElementById("Puesto_6");

var ajax=nuevoAjax();

//se puede enviar por GET el articulo tambien en este caso elegi POST
// ajax.open("GET", "ej2.php?"+"arti="+cod, true);
// ajax.send(null);

ajax.open("POST", "archivo/select_proceso1.php", true);
ajax.setRequestHeader("Content-Type", "application/x- www - form-urlencoded");
ajax.send("artic="+cod);

ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
if(ajax.status==200) {

var respuesta=ajax.responseXML;
campo1.value=respuesta.getElementsByTagName("Puest o_1")[0].childNodes[0].data;
campo2.value=respuesta.getElementsByTagName("Puest o_2")[0].childNodes[0].data;
campo3.value=respuesta.getElementsByTagName("Puest o_3")[0].childNodes[0].data;
campo4.value=respuesta.getElementsByTagName("Puest o_4")[0].childNodes[0].data;
campo5.value=respuesta.getElementsByTagName("Puest o_5")[0].childNodes[0].data;
campo6.value=respuesta.getElementsByTagName("Puest o_6")[0].childNodes[0].data;
}else{
alert("Estado: " + ajax.status + "\nMotivo: " + ajax.statusText);
}
}
}
}

y mi archivo de proceso php:

<?php
$v=$_GET["codprod"];

//$v=$_GET['arti']; esta opcion si es enviada por GET


$conexion=mssql_connect("soportado","administrador ","12345");
mssql_select_db("entrepanas",$conexion);

$resultado=mssql_query("SELECT puesto_1, puesto_2, puesto_3, puesto_4, puesto_5, puesto_6 FROM SAPROD_02 WHERE CodProd=$v");

$registro=mssql_fetch_row($resultado);

echo $registro[0]."||".$registro[1]."||".$registro[2]."||".$registro[3]."||".$registro[4]."||".$registro[5];


//esta es otra de las opciones que encontre pero nada....

/*$xml = "<?<xml version=\"1.0\" encoding=\"utf-8\"?>
<datos>
<puesto_1><![CDATA[$registro[0]]]></puesto_1>
<puesto_2><![CDATA[$registro[1]]]></puesto_2>
<puesto_3><![CDATA[$registro[2]]]></puesto_3>
<puesto_4><![CDATA[$registro[3]]]></puesto_4>
<puesto_5><![CDATA[$registro[4]]]></puesto_5>
<puesto_6><![CDATA[$registro[5]]]></puesto_6>
</datos>";
header("Content-Type: Text/xml");
echo $xml;
*/
?>