Tabla de contenidos
SQL
SELECT idtienda,nombre,direccion,cp,ciudad,provincia,cif,telefono,email,paginaweb
FROM tiendas
PHP
<?php
//Función para conectarnos con la BBDD
function conectar(){
// Rellenamos todos los datos para conectarnos a la BBDD
$x=new mysqli(
"", // URL
"", // Usuario
"", // Clave
"" // Nombre
);
//En caso de haber un error de conexión a la BBDD...
if ($x->connect_errno){
//Salimos de la conexión con el error
die ("Error: ".$x->mysqli_connect_errno().$x->mysqli_connect_error());
exit();
}
return $x;
}
?>
//Indicamos que todos los valores se mostrarán en el navegador en XML
header("Content-type: text/xml");
//Selector de parámetros
switch ($_GET['parametro']) {
case "GetTiendas": // MOSTRARÁ LOS DATOS DE LAS TIENDAS
$xml = '<tiendas>';
$consulta=$c->query("SELECT idtienda,nombre,direccion,cp,ciudad,provincia,cif,telefono,email,paginaweb FROM tiendas");
while($sql=$consulta->fetch_assoc()){
$xml .="<tienda>".
"<idtienda>".$sql['idtienda']."</idtienda>".
"<nombre>".$sql['nombre']."</nombre>".
"<direccion>".$sql['direccion']."</direccion>".
"<cp>".$sql['cp']."</cp>".
"<ciudad>".$sql['ciudad']."</ciudad>".
"<provincia>".$sql['provincia']."</provincia>".
"<cif>".$sql['cif']."</cif>".
"<telefono>".$sql['telefono']."</telefono>".
"<email>".$sql['email']."</email>".
"<paginaweb>".$sql['paginaweb']."</paginaweb>".
"</tienda>";
}
$xml .= '</tiendas>';
echo $xml;
break;
default:
echo "Error en selección del parámetro";
}
<?php
//Función para conectarnos con la BBDD
function conectar(){
// Rellenamos todos los datos para conectarnos a la BBDD
$x=new mysqli(
"", // URL
"", // Usuario
"", // Clave
"" // Nombre
);
//En caso de haber un error de conexión a la BBDD...
if ($x->connect_errno){
//Salimos de la conexión con el error
die ("Error: ".$x->mysqli_connect_errno().$x->mysqli_connect_error());
exit();
}
return $x;
}
//Nos conectamos a la BBDD.
conectar();
//Indicamos que todos los valores se mostrarán en el navegador en XML
header("Content-type: text/xml");
//Selector de parámetros
switch ($_GET['parametro']) {
case "GetTiendas": // MOSTRARÁ LOS DATOS DE LAS TIENDAS
$xml = '<tiendas>';
$consulta=$c->query("SELECT idtienda,nombre,direccion,cp,ciudad,provincia,cif,telefono,email,paginaweb FROM tiendas");
while($sql=$consulta->fetch_assoc()){
$xml .="<tienda>".
"<idtienda>".$sql['idtienda']."</idtienda>".
"<nombre>".$sql['nombre']."</nombre>".
"<direccion>".$sql['direccion']."</direccion>".
"<cp>".$sql['cp']."</cp>".
"<ciudad>".$sql['ciudad']."</ciudad>".
"<provincia>".$sql['provincia']."</provincia>".
"<cif>".$sql['cif']."</cif>".
"<telefono>".$sql['telefono']."</telefono>".
"<email>".$sql['email']."</email>".
"<paginaweb>".$sql['paginaweb']."</paginaweb>".
"</tienda>";
}
$xml .= '</tiendas>';
echo $xml;
break;
default:
echo "Error en selección del parámetro";
}
?>
http://(mi dominio o localhost)/funciones.php?parametro=GetTiendas
JavaScript
// Función que utilizaremos para que se ejecute cada vez que cargue el HTML
function init(){
listaTiendas();
}
function listaTiendas(){
$('#datos').empty();
$.ajax({
url: 'funciones.php?parametro=GetTiendas',
dataType: 'xml',
success: function (data) {
$(data).find('tienda').each(function(){
$("#datos").append(
'<tr>'+
'<td>'+$(this).find('idtienda').text()+'</td>'+
'<td>'+$(this).find('nombre').text()+'</td>'+
'<td>'+$(this).find('cp').text()+'</td>'+
'<td>'+$(this).find('ciudad').text()+'</td>'+
'<td>'+$(this).find('provincia').text()+'</td>'+
'<td>'+$(this).find('cif').text()+'</td>'+
'<td>'+$(this).find('telefono').text()+'</td>'+
'<td>'+$(this).find('email').text()+'</td>'+
'<td>'+$(this).find('paginaweb').text()+'</td>'+
'<tr>');
});
}
});
}
HTML
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body onload="init()">
<table class="table table-hover">
<thead>
<tr>
<th>idtienda</th>
<th>nombre/th>
<th>direccion</th>
<th>cp</th>
<th>provincia</th>
<th>provincia</th>
<th>provincia</th>
<th>provincia</th>
<th>provincia</th>
</tr>
</thead>
<tbody id="datos">
</tbody>
</table>
<script type="text/javascript" src="modulos/clientes/clientes.js"></script>
</body>
</html>
Aspectos a tener en cuenta
- En nuestro fichero HTML, en la etiqueta <body>, tiene una llamada a una función que se llama init(). Nos servirá esta función por si queremos ejecutar varias funciones a la hora de cargar nuestro fichero HTML.
- No podemos recoger datos de otro servidor que no sea el nuestro, ya que por seguridad no lo permite (cross domain).
- Puse la llamada de mi JavaScript al final de la etiqueta <body> ya que mejoramos en aspectos de rendimiento, y da tiempo a que el navegador cargue todo el DOM y a posteriori, la función de JavaScript.
4 comentarios en “Mostrar datos SQL en HTML”
que tal, soy nuevo en cuestion de html,js,php no he podido replicar tu ejemplo.
si fuera posible me pasarias el codigo completo para ver si asi lo puedo apreciar mejor. te lo agradeceria
Hola Eduardo! Antes de nada, muchas gracias por visitar mi blog.
Al final del POST, están cada código para realizar pruebas, pero es posible a que te falte la parte de base de datos. Tienes que crearte una tabla (tiendas) con los siguientes campos: idtienda (numérico),nombre (todos los campos en adelante son varchar),direccion,cp,ciudad,provincia,cif,telefono,email y paginaweb.
Si ves que te sigue fallando, puede ser debido a que no estés bien conectado a la base de datos.
Un saludo!
$x=new mysqli(
en estaparte si estoy ocupando sql server es diferente ?
Para configurar la BBDD en PHP con SQL Server, se utiliza:
sqlsrv_connect
Un saludo.