actualizar varios inputs con solo un php
Publicado por mdhg3 (3 intervenciones) el 25/04/2007 09:21:58
AYUDA!! Tengo un select el cual carga matriculas de vehiculos de una base de datos y segun la matricula seleccionada tiene que mostrar los datos de este vehiculo en inputs.
Lo que necesito saber como se hace es mostrar los datos segun la matricula seleccionada pero sin tener que crear una conexion para cada input y tampoco tener que crear un php para cada uno.
Es decir que con el fichero pagina1.php pueda mostrar todos los datos en los distintos inputs.
--consumo.php--
<script src="funcionescbo.js" language="JavaScript"></script>
Asi creo el select:
function generaCbo()
{
$consulta=mysql_query("SELECT matricula FROM dato_vehiculo");
$indice_cbo==$row["matricula"];
// Voy imprimiendo el primer select compuesto por los paises
echo "<select name='matricula' id='matricula'>";
echo "<option value='valorpordefecto' if ($indice_cbo==''){'selected'}>Elija una Matrícula</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[0]."' if ($indice_cbo==$registro[0]) {'selected'} >".$registro[0]."</option>";
}
echo "</select>";
}
--funcionescbo.js--
addEvent(window,'load',inicializarEventos,false);
function inicializarEventos()
{
// Funcion encargada del select
var select1=document.getElementById('matricula'); // Ponemos el id del select
// Cuando hagamos la seleccion de un item del select se dispara la funcion mostrar
addEvent(select1,'change',mostrar,false);
}
var conexion1;
var conexion2;
var conexion3;
var conexion4;
function mostrar()
{
var codigo=document.getElementById('matricula').value; // ID seleccionado del select
if (codigo!="valorpordefecto") // Opcion seleccionada distinta de "Elige una ..."
{
conexion1=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion1.onreadystatechange = procesarEventos;
conexion1.open('GET','pagina1.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion1.send(null);
conexion2=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion2.onreadystatechange = procesarEventos;
conexion2.open('GET','pagina2.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion2.send(null);
conexion3=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion3.onreadystatechange = procesarEventos;
conexion3.open('GET','pagina3.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion3.send(null);
conexion4=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion4.onreadystatechange = procesarEventos;
conexion4.open('GET','pagina4.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion4.send(null);
}
function procesarEventos()
{
if(conexion1.readyState == 4)
{
document.getElementById("modelo").value=conexion1.responseText;
document.getElementById("tipo").value=conexion2.responseText;
document.getElementById("marca").value=conexion3.responseText;
document.getElementById("unidadfuncional").value=conexion4.responseText;
}
}
--pagina1.php--
<?php
$car=$_REQUEST['cod'];
conexion() //conexion base de datos mysql
////end conexión
$mmsql="SELECT modelo FROM dato_vehiculo WHERE matricula='".$car."'";
$rresult=mysql_query($mmsql)or die(mysql_error());
$rrow = mysql_fetch_array($rresult);
$modelo=$rrow["modelo"];
?>
<? echo $modelo ?> //********* Como muestro los distintos resultados de la sql en distintos inputs
--pagina2.php--
<?php
$car=$_REQUEST['cod'];
conexion()
////end conexión
$mmsql="SELECT tipo FROM dato_vehiculo d,tipo_vehiculo t WHERE d.id_tipo=t.id AND d.matricula='".$car."'";
$rresult=mysql_query($mmsql)or die(mysql_error());
$rrow = mysql_fetch_array($rresult);
$tipo=$rrow["tipo"];
?>
<? echo $tipo ?>
etc....
GRACIAS
Lo que necesito saber como se hace es mostrar los datos segun la matricula seleccionada pero sin tener que crear una conexion para cada input y tampoco tener que crear un php para cada uno.
Es decir que con el fichero pagina1.php pueda mostrar todos los datos en los distintos inputs.
--consumo.php--
<script src="funcionescbo.js" language="JavaScript"></script>
Asi creo el select:
function generaCbo()
{
$consulta=mysql_query("SELECT matricula FROM dato_vehiculo");
$indice_cbo==$row["matricula"];
// Voy imprimiendo el primer select compuesto por los paises
echo "<select name='matricula' id='matricula'>";
echo "<option value='valorpordefecto' if ($indice_cbo==''){'selected'}>Elija una Matrícula</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[0]."' if ($indice_cbo==$registro[0]) {'selected'} >".$registro[0]."</option>";
}
echo "</select>";
}
--funcionescbo.js--
addEvent(window,'load',inicializarEventos,false);
function inicializarEventos()
{
// Funcion encargada del select
var select1=document.getElementById('matricula'); // Ponemos el id del select
// Cuando hagamos la seleccion de un item del select se dispara la funcion mostrar
addEvent(select1,'change',mostrar,false);
}
var conexion1;
var conexion2;
var conexion3;
var conexion4;
function mostrar()
{
var codigo=document.getElementById('matricula').value; // ID seleccionado del select
if (codigo!="valorpordefecto") // Opcion seleccionada distinta de "Elige una ..."
{
conexion1=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion1.onreadystatechange = procesarEventos;
conexion1.open('GET','pagina1.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion1.send(null);
conexion2=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion2.onreadystatechange = procesarEventos;
conexion2.open('GET','pagina2.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion2.send(null);
conexion3=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion3.onreadystatechange = procesarEventos;
conexion3.open('GET','pagina3.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion3.send(null);
conexion4=crearXMLHttpRequest(); // Crea el nuevo objeto AJAX
conexion4.onreadystatechange = procesarEventos;
conexion4.open('GET','pagina4.php?cod='+codigo, true); // Envia al servidor el ID del select seleccionado
conexion4.send(null);
}
function procesarEventos()
{
if(conexion1.readyState == 4)
{
document.getElementById("modelo").value=conexion1.responseText;
document.getElementById("tipo").value=conexion2.responseText;
document.getElementById("marca").value=conexion3.responseText;
document.getElementById("unidadfuncional").value=conexion4.responseText;
}
}
--pagina1.php--
<?php
$car=$_REQUEST['cod'];
conexion() //conexion base de datos mysql
////end conexión
$mmsql="SELECT modelo FROM dato_vehiculo WHERE matricula='".$car."'";
$rresult=mysql_query($mmsql)or die(mysql_error());
$rrow = mysql_fetch_array($rresult);
$modelo=$rrow["modelo"];
?>
<? echo $modelo ?> //********* Como muestro los distintos resultados de la sql en distintos inputs
--pagina2.php--
<?php
$car=$_REQUEST['cod'];
conexion()
////end conexión
$mmsql="SELECT tipo FROM dato_vehiculo d,tipo_vehiculo t WHERE d.id_tipo=t.id AND d.matricula='".$car."'";
$rresult=mysql_query($mmsql)or die(mysql_error());
$rrow = mysql_fetch_array($rresult);
$tipo=$rrow["tipo"];
?>
<? echo $tipo ?>
etc....
GRACIAS
Valora esta pregunta


0