Inicio > Ajax, Php5 > AJAX y PHP, mostrar una tabla

AJAX y PHP, mostrar una tabla

jueves, 5 de junio de 2008 Dejar un comentario Ir a comentarios

tabla_phpHace poco tocamos el caso de llenar una segunda lista desplegable dinámicamente con AJAX, ahora en este post mostraremos el resultado  luego de seleccionar la lista desplegable en una tabla (etiqueta table) y lo haremos siempre con AJAX.

Para los que recién empiezan con AJAX es una forma de ver como trabaja, la idea para esta entrada es tener en una lista desplegable todos los departamentos y cada vez que cambiemos de departamento nos muestre en una tabla con AJAX.

tabla_php.php

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Ver tabla con AJAX y PHP</title>
</head>

<body>
<div id="idDiv"></div>
</body>

</html>

Empezamos creando un objeto div contenedor donde almacenaremos la tabla.

Llenamos los datos de la lista desplegable con PHP, para ello creamos la conexión.

< ?php
$cn=mysql_connect("localhost","usuario","clave");
mysql_select_db("bd_anidados");
?>
<html xmlns="http://www.w3.org/1999/xhtml">

Y luego cargamos los departamentos.

<body>
< ?php
echo "<select name='sDep' onChange='cargar(this.value)'>";
echo "<option value='-1'>Seleccione</option>";
$sql="SELECT * FROM departamento";
$rs=mysql_query($sql);
while ($reg=mysql_fetch_array($rs)){
echo "<option value=".$reg['coddep'].">".$reg['desdep']."</option>";
}
echo "";
?>

<div id="idDiv"></div>

Luego la función que creará el objeto AJAX

<title>Ver tabla con AJAX y PHP</title>
<script language="JavaScript" type="text/javascript">
// creando objeto XMLHttpRequest de Ajax
var obXHR;
try {
obXHR=new XMLHttpRequest();
} catch(err) {
try {
obXHR=new ActiveXObject("Msxml2.XMLHTTP");
} catch(err) {
try {
obXHR=new ActiveXObject("Microsoft.XMLHTTP");
} catch(err) {
obXHR=false;
}
}
}

function cargar(dep) {
var obDiv = document.getElementById("idDiv");
obXHR.open("GET", "provi.php?dep="+dep);
obXHR.onreadystatechange = function() {
if (obXHR.readyState == 4 &amp;amp;amp;&amp;amp;amp; obXHR.status == 200) {
obDiv.innerHTML=obXHR.responseText;
}
}
obXHR.send(null);
}
</script>

Para ponerle un poco de color utilizamos CSS


<style>
td {
background-color: #FFFFCC;
color: #000066;
}
th {
background-color: #000099;
color: #FFFFFF;
font-weight: bold;
}
</style>

El script PHP es

provi.php

< ?php
$cn=mysql_connect("localhost","usuario","clave");
mysql_select_db("bd_anidados");
$sql="SELECT * FROM provincia WHERE coddep=".$_GET['dep'];
$rs=mysql_query($sql);
echo "<table border='1' width='25%'>";
echo "<tr><th>Cod</th><th>Nombre</th></tr>";
while ($reg=mysql_fetch_array($rs)){
echo "<tr><td align='center'>".$reg['codpro']."</td>";
echo "<td>".utf8_encode($reg['despro'])."</td></tr>";
}
echo "";
?>

Ver demostración

Descargar archivos

Eso es todo… hasta pronto.

Categories: Ajax, Php5 Tags:
  1. Miguel
    lunes, 10 de diciembre de 2012 a las 06:31 | #1

    buen aporte man (y)
    gracias

  2. Deieu
    miércoles, 6 de junio de 2012 a las 09:25 | #2

    Perfecto!!
    Buen Aporte!
    Grax ^^

  1. Sin trackbacks aún.