Para leer registros de una base de datos, la técnica suele ser recorrer y encontrar los que desee. Para especificar qué registros desea, use algo llamado SQL. Esto significa lenguaje de consulta estructurado. Este es un lenguaje natural, sin codificación, que usa palabras como SELECT y WHERE. En su nivel más simple, es bastante sencillo. Pero cuanto más compleja es la base de datos, más complicado es el SQL. Sin embargo, comenzaremos con algo simple.
Lo que queremos hacer, ahora que tenemos una conexión con nuestra base de datos, es leer todos los registros de nuestra libreta de direcciones e imprimirlos en la página. Aquí hay un código nuevo, agregado al script PHP que ya tiene. Las nuevas líneas están en azul:
PHP
requiere '../configure.php'
$ db_handle = mysqli_connect (DB_SERVER, DB_USER, DB_PASS);
$ base de datos = "libreta de direcciones";
$ db_found = mysqli_select_db ($ db_handle, $ base de datos);
if ($ db_found) {
$ SQL = "SELECT * FROM tbl_address_book";
$ resultado = mysqli_query ($ db_handle, $ SQL);
while ($ db_field = mysqli_fetch_assoc ($ resultado)) {
imprimir $ db_field['ID'] . "
";
imprimir $ db_field['First_Name'] . "
";
imprimir $ db_field['Surname'] . "
";
imprimir $ db_field['Address'] . "
";
}
}
demás {
imprimir "Base de datos NO encontrada";
}
mysqli_close ($ db_handle);
?>
Antes de revisar el nuevo código para ver qué está sucediendo, ejecute su script. Debería encontrar que la dirección que agregó en una sección anterior está impresa. (Solo tenemos un registro en este momento).
1
Prueba
Nombre
12 Test Street
La primera línea del nuevo código es esta:
$ SQL = "SELECT * FROM tbl_address_book";
$ SQL es solo una variable normal. Pero le estamos poniendo una cuerda larga. Esta es una declaración SQL. Aquí hay un breve resumen de SQL.
lenguaje de consulta estructurado
SQL (pronunciado SEEKwel), es una forma de consultar y manipular bases de datos. Los conceptos básicos son bastante fáciles de aprender. Si desea obtener todos los registros de una tabla en una base de datos, utilice el SELECCIONE palabra. Me gusta esto:
SELECT * FROM Table_Name
SQL no distingue entre mayúsculas y minúsculas, por lo que la línea anterior podría escribirse:
Seleccione * De Table_Name
Pero sus declaraciones SQL son más fáciles de leer si escribe las palabras clave en mayúsculas. Las palabras clave en las líneas de arriba son SELECCIONE y DESDE. El asterisco significa "Todos los registros". Nombre de la tabla
es el nombre de una tabla en su base de datos. Entonces toda la línea dice:
"SELECCIONAR todos los registros DE la tabla llamada Table_Name"
No tiene que seleccionar todos los registros de su base de datos. Puede seleccionar las columnas que necesita. Por ejemplo, si quisiéramos seleccionar solo las columnas de nombre y apellido de esta tabla, podemos especificar eso en nuestra Cadena SQL:
"SELECCIONAR Nombre, apellido de tbl_address_book"; Cuando se ejecuta esta sentencia SQL, solo el Primer nombre y Apellido
se devolverán las columnas de la base de datos.
Hay muchos más comandos SQL a los que acostumbrarse, y conocerá más a medida que avanza. Por ahora, solo estamos seleccionando todos los registros de nuestra tabla.
Volver al código
La primera línea de nuestro código, entonces, fue esta:
$ SQL = "SELECT * FROM tbl_address_book";
Entonces tenemos una declaración SQL, pero necesitamos pasarla a otra función incorporada:
mysqli_query () Elmysqli_query La función () se utiliza para enviar una consulta SQL a su base de datos. Si ha escrito correctamente su SQL, la función devolverá un valor. Este valor será verdadero, falso o un identificador de archivo. Porque estamos usando el SELECCIONE
palabra clave, el valor devuelto por será un identificador de archivo. En nuestro código, la línea era esta: $ resultado = mysqli_query ( $ SQL)
; El identificador de archivo devuelto en nuestro $ resultado
variable solo apunta a los resultados. En realidad, no devuelve nada. Para recuperar los datos, teníamos esto dentro de un ciclo while: $ campo_db = mysqli_fetch_assoc ( $ resultado)
;
La función incorporada que estamos usando para recuperar los resultados es la siguiente: mysqli_fetch_assoc ( $ resultado
) El assoc parte significa asociativo. Como en "matriz asociativa". Por lo tanto, pedimos que los resultados se devuelvan en un formato de matriz. Entre los corchetes redondos de mysqli_fetch_assoc
hemos escrito el nombre de nuestro identificador de archivo ?? el que apuntaba a los resultados de la declaración SQL.
Recuerde: una matriz asociativa es aquella en la que las claves son texto. Entonces es este formato:['One'] Formación
=['Two'] Formación
=['Three]Formación
'=
Y no esto:[1] Formación
=[2] Formación
=[3] Formación
= Cuando el mysql_fetch_assoc La función devuelve una matriz, lo estamos poniendo todo en una variable llamada$ db_field
. La parte clave de la matriz son todos los nombres de columna de nuestras tablas de base de datos. Esto se hace automáticamente por usted. Entonces el formato de la matriz será este:[Column_Name] $ db_field =
Valor
La razón por la que está haciendo esto es para que pueda recorrer la matriz y acceder a los valores de la tabla. Aquí está nuestro bucle, sin nada entre paréntesis:
tiempo ( ) {['ID'] imprimir $ db_field
. "
";['First_Name'] imprimir $ db_field
. "
";['Surname'] imprimir $ db_field
. "
";['Address'] imprimir $ db_field
. "
";
} Entonces estamos imprimiendo el valor que esté en la posición de la matriz['ID']$ db_field ,
['First_Name']$ db_field ,['Surname'] $ db_field
y['Address']$ db_field
. También estamos agregando un salto de línea HTML al final, solo para fines de impresión.
Si todo eso es confuso, recuerde el formato:[Table_Coulmn_Name] Array_Name =
Value_From_Record
Todo nuestro bucle while, entonces, es este:
while ($ db_field = mysqli_fetch_assoc ($ resultado)) {['ID'] imprimir $ db_field
. "
";['First_Name'] imprimir $ db_field
. "
";['Surname'] imprimir $ db_field
. "
";['Address'] imprimir $ db_field
. "
";
}
- Debido a que es un poco complejo, repasemos los pasos que hemos usado para acceder a los registros de nuestra tabla:
- Utilizar mysqli_query ()
- Utilizar mysqli_fetch_assoc ()
Configure una instrucción SQL que pueda usarse para obtener los registros de la tabla de la base de datos
para recuperar los registros que especificamos en el Paso 1
para configurar una matriz. La matriz contendrá todos los registros que se devolvieron en el Paso 2
Realice un bucle con todos los datos de la matriz utilizando un bucle While
El paso 1 fue este, en el código:
$ SQL = "SELECT * FROM tbl_address_book";
El paso 2 fue este:
$ resultado = mysqli_query ($ SQL);
El paso 3 fue este:
$ db_field = mysqli_fetch_assoc ($ resultado)
Y el paso 4 fue este:
while ($ db_field = mysqli_fetch_assoc ($ resultado)) {['ID'] imprimir $ db_field
. "
";['First_Name'] imprimir $ db_field
. "
";['Surname'] imprimir $ db_field
. "
";['Address'] imprimir $ db_field
. "
";
}
Si todavía está confundido, estudie el código y repase esta sección. En la siguiente sección, adaptaremos el código para agregar más registros a nuestra tabla de base de datos.
<- Atrás una página | Pasar a la siguiente parte ->
Volver a la página de contenido de PHP