Posted on 02-09-20092009 in MySQL, PHP | 0 comments
Para seleccionar datos aleatoriamente tenemos que tener en cuenta la normalización de SQL y que posiblemente no todas apliquen a algunos gestores de bases de datos.
En primera debemos tener en claro una simple sentencia en SQL para seleccionar datos.
| SELECT * FROM `tabla` ORDER BY `campo` DESC LIMIT 0,10 |
Con esta sentencia en sql lo que estamos haciendo es seleccionar los datos de la tabla, que los ordene dependiendo del tipo campo y que tenga un límite de 10 campos. Es así como funciona una sentencia común en SQL.
Para obtener registros aleatorios o azarosos de una tabla se requiere tener la siguiente sentencia:
SELECT * FROM `tabla` ORDER BY RAND() DESC LIMIT 0,10
|
Al igual nos mostrará 10 campos pero estos de manera aleatoria y de límite 10, esto es muy eficiente para hacer más dinámico nuestro sitio web y de más vistosidad y facilidad de acceso a la información.
Para unir esta sentencia con PHP para mostrar los resultados analicemos el siguiente código.
<?
## nos conectamos a mysql
include(“conexion.php”);
## Tomamos los datos aleatorios de la tabla
$query = mysql_query(“SELECT * FROM `tabla` ORDER BY RAND() LIMIT 0, 10″);
## creamos un bucle para que nos muestre los resultados
while ($campo = mysql_fetch_array($query)){
echo $campo["campo"];
}
## liberamos memoria de la sentencia
mysql_free_result($query);
## finalizamos conexión
mysql_close();
?> |
El código PHP anterior nos muestra por pasos lo que se requiere para seleccionar los datos al azar, existen algunos artículos referidos en la cual este artículo depende. Entre ellos puedes visitar: “Conexión a MySQL”, “Alternar filas de color con PHP”, entre otros más asesores. También puedes visitar el manual de PHP.net de Funciones MySQL.
read more
Posted on 29-08-20092009 in MySQL, PHP | 0 comments
(PHP 5)
mysqli_options, mysqli->options — Fija opciones
Descripción
Estilo por procedimientos:
bool mysqli_options ( mysqli $identificador_de_enlace, int $opción, mixto $valor )
Estilo orientado a objetos (método)
class mysqli {
bool options ( int $opción, mixto $valor )
}
mysqli_options() puede ser usada para fijar opciones extra en la conexión y afectar el comportamiento para la conexión.
Esta función puede ser llamada múltiples veces para fijar diferentes opciones.
mysqli_options() debe ser llamada después de mysqli_init() y antes de mysqli_real_connect().
El parámetro opción es la opción que se busca cambiar, el parámetro valor es el valor para la opción. El parámetro opci´on puede ser una de las siguientes:
Opciones validas
| Nombre |
Descripción |
| MYSQLI_OPT_CONNECT_TIMEOUT |
Tiempo que espera para ser conectado en segundos |
| MYSQLI_OPT_LOCAL_INFILE |
habilita/deshabilita el uso de LOAD LOCAL INFILE |
| MYSQLI_INIT_CMD |
comando a ejecutar después cuando se conecte al servidor MySQL |
| MYSQLI_READ_DEFAULT_FILE |
Lee las opciones del archivo de configuración específicado en vez demy.cnf |
| MYSQLI_READ_DEFAULT_GROUP |
Lee las opciones del grupo del archivomy.cnf o del archivo específicado con MYSQL_READ_DEFAULT_FILE. |
Valores retornados
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
read more
Posted on 29-08-20092009 in MySQL, PHP | 0 comments
(PHP 5)
mysqli_num_rows — Obtiene el número de filas en un resultado
Descripción
Estilo por procedimientos:
mixto mysqli_num_rows ( mysqli_result $resultado )
Estilo orientado a objetos (propiedad):
class mysqli_result {
mixto num_rows
}
Regresa el número de filas en el resultado.
El uso de mysqli_num_rows() depende de si se usa resultados con almacenamiento intermedio (buffered) o no. En caso de usar resultados sin almacenamiento intermedio, mysqli_num_rows() no dará el número correcto de filas hasta que se hayan obtenido todas las filas del resultado.
Valores retornados
Regresa el número de filas en el resultado.
nota: Si el número de filas es superior al valor entero maximo, el número será regresado como una cadena.
Ver también
mysqli_affected_rows(), mysqli_store_result(), mysqli_use_result(), y mysqli_query().
Ejemplos
Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if (
$result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {
/* determine number of rows result set */
$row_cnt = $result->num_rows;
printf("Result set has %d rows.\n", $row_cnt);
/* close result set */
$result->close();
}
/* close connection */
$mysqli->close();
?>
Estilo por procedimientos
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if (
$result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {
/* determine number of rows result set */
$row_cnt = mysqli_num_rows($result);
printf("Result set has %d rows.\n", $row_cnt);
/* close result set */
mysqli_free_result($result);
}
/* close connection */
mysqli_close($link);
?>
El resultado del ejemplo seria:
Result set has 239 rows.
read more