Hoy es viernes y mientras algunos están pensando qué van a hacer esta noche yo estoy pensando en qué voy a publicar y no se me ocurrió otra cosa que hacer un ejemplo completo de lo que les había venido escribiendo en los post anteriores. Empecemos por crear la conexión a la base de datos mediante el siguiente código
$srv="(local)\MSSQL11";
$opc=array("Database"=>"sistema", "UID"=>"usuario","PWD"=>"laContr4s3n1a");
$con=sqlsrv_connect($srv,$opc) or die(print_r(sqlsrv_errors(), true));
$sql="SELECT TOP 10 * FROM Usuarios ORDER BY idUsuarios;";
$res=sqlsrv_query($con,$sql);
En este caso estoy haciendo una llamada a la instancia MSSQL11 que es una instancia de SQL Server 2012 que está corriendo en el equipo local, podríamos probar con un servidor remoto o con una instancia de SQL Server 2008, pero recuerde asegurarse que los comandos que envía al servidor son válidos para esa versión del mismo. Como puede verse se va a usar la base de datos llamada «sistema» que es la BDD que creé para este ejemplo mediante el usuario llamado «usuario» y la contraseña «laContr4s3n1a». Finalmente se seleccionan todos los datos de los primeros 10 usuarios de la tabla «Usuarios» ordenados por el campo «idUsuarios». La tabla «Usuarios» contiene los siguientes campos: «IdUsuario», «Cedula», «Nombre», «Apellido», «Telefono» e «Email», acá es importante hacer notar que puede resultar muy conveniente evitar el uso de acentos y/o cualquier símbolo con el que podamos tener problemas al momento de la codificación entre juegos de caracteres ya que en algunos servidores este parámetro no se nos permite cambiarlo. Una vez que tengo los datos ahora quiero mostrarlos, y bueno, por simplicidad escogí una de las formas «obsoletas» de representar información en la web que es la tabla. Y creo una tabla con las cabeceras necesarias para mostrar los datos que recuperé.
<table>
<tr>
<td>IdUsuario</td>
<td>[Cédula]</td>
<td>[Nombre]</td>
<td>[Apellido]</td>
<td>[Teléfono]</td>
<td>[Email]</td>
</tr>
<?php if(!$res) {?>
<tr>
<td colspan="6">No hay datos para mostrar</td>
</tr>
<?php }
else {
while($row=sqlsrv_fetch_array($res)) {?>
<tr>
<td><?php echo $row['idUsuario'];?></td>
<td><?php echo $row['Cedula'];?></td>
<td><?php echo $row['Nombre'];?></td>
<td><?php echo $row['Apellido'];?></td>
<td><?php echo $row['Telefono'];?></td>
<td><?php echo $row['Email'];?></td>
</tr>
<?php
}//Fin while
}//Fin if
sqlsrv_close($con); ?>
</table>
En primera instancia tengo el caso en el que no existen registros que cumplen con el criterio de búsqueda, por lo que mostraré el mensaje correspondiente y, en el caso de haber encontrado datos, simplemente procedo a mostrarlos. Y por supuesto algo MUY importante es cerrar la conexión al final de nuestras operaciones sobre el motor de base de datos, si bien, la mayoría de los recursos se liberan al terminar la ejecución del script es una buena práctica cerrar las conexiones y liberar los recursos que estemos utilizando para asegurar una salida limpia de la ejecución.
Y si tuviste problemas para seguir el ejemplo (porque falta algo del código HTML) acá está el Código fuente del ejemplo
Hola, muy interesante tu codigo, me resulto util muchas gracias, oye pero ahora una cosa si requiero imprimir ese resultado de la tabla que se me muestra???
Hola, puedes imprimir la página Web o bien pasar la consulta en un reporteador de tu preferencia para impresión.
Muy buen ejemplo,gracias
Pero lo duda es cuando quiero mostrar un solo registro de sal ser ver,
Y sqlsrv_fetch_array no me funciona en este caso.
Les agradecería si me pudieran colaborar con esto
Gracias
Siempre sirve esta opción, en este caso el arreglo sólo tendrá un único registro.