Esta lección es parte de un tutorial de Encuesta / Encuesta en curso. La primera parte está aquí: cree su propia encuesta / sondeo, junto con todos los archivos que necesita.
En la parte anterior de esta lección, viste la estructura de la base de datos de la Encuesta. La primera página PHP que veremos es la setSurvey.php archivo, que se encuentra en la carpeta de scripts / encuesta que descargó. Es donde establecemos una pregunta para la encuesta. Como recordatorio, la página se ve así en un navegador:
Usando su editor de texto favorito, abra el archivo llamado setQuestion.php nuevamente, y eche un vistazo al código:
Código PHP para setQuestion (se abre en una nueva pestaña del navegador como un archivo de texto)
En la parte superior de la página, tenemos nuestro exigir line, que obtiene las constantes para la base de datos y la conexión al servidor. Observe que la referencia de ubicación del archivo tiene dos conjuntos de puntos / puntos / barra al principio. Esto se debe a que hemos colocado nuestro configurar archivo fuera de la carpeta raíz web. Debe cambiar la referencia del archivo para que coincida con el lugar donde ha guardado su propio archivo de configuración.
Después de obtener una referencia al archivo de configuración, configuramos algunas variables. La mayoría de las variables se establecen en cadenas en blanco. Excepto estos dos:
$ startSelect = "";
Tenemos que construir nuestro propio cuadro desplegable HTML con PHP. Si lo estuviera haciendo puramente en HTML, entonces un cuadro desplegable se ve así:
El código HTML anterior le daría una lista desplegable con dos elementos. Así que necesitamos agregar las dos partes SELECT, la inicial y la final, usando código PHP. Completaremos las partes de OPCIÓN más tarde.
Cuando la página se cargue por primera vez, la llenaremos con opciones de la tabla de la base de datos. Sin embargo, debemos detectar si se hizo clic en el botón del formulario. La siguiente parte de nuestro código PHP detecta que:
if (isset ($ _ GET['Submit1'])) {
$ getDropdownID = $ _GET['drop1'];
header ("Ubicación: survey.php? h1 =". $ getDropdownID);
}
Volveremos a este código más tarde. Pero comprueba si se ha establecido un objeto de formulario HTML llamado Submit1. Este objeto de formulario es el botón. Queremos redirigir a la página de la encuesta, donde se cargará la encuesta que seleccionó el usuario.
Lo primero que hace el resto del código es conectarse al servidor y la base de datos. Entonces tenemos esta línea:
$ stmt = $ db_found-> prepare ("SELECCIONAR ID, Pregunta DE tblsurvey");
if ($ stmt) {
// RESTO DE CÓDIGO AQUÍ
}
La primera línea es una declaración preparada. Entre paréntesis, tenemos esto:
SELECCIONAR ID, Pregunta DE tblsurvey
En tutoriales anteriores, seleccionamos todos los registros de una tabla de base de datos. Usamos el símbolo de asterisco
:
SELECCIONAR * DE tblsurvey
Sin embargo, no es necesario que seleccione todos los campos de su tabla. Puede seleccionar solo los campos (columnas de la tabla) que necesite. Solo necesitamos el número de identificación y la pregunta, por lo que solo estamos seleccionando estos dos campos. La pregunta se agregará al cuadro desplegable. El número de identificación se coloca en una etiqueta HTML oculta. Cuando redirigimos a la página de la encuesta, survey.php tomará esta identificación y la usará para extraer los registros correctos de la tabla.
La declaración if ($ stmt) está probando que realmente obtuvimos un resultado de ese SQL. Si lo hicimos, la variable tendrá un valor verdadero. Si el SQL falló, $ stmt será falso. Hemos agregado una parte else para imprimir algo, si el SQL falla:
if ($ stmt) {
// RESTO DE CÓDIGO AQUÍ
}
demás {
imprimir "Error - DB ERROR";
}
Si el SQL es exitoso, lo ejecutamos y obtenemos los resultados:
$ stmt-> ejecutar ();
$ res = $ stmt-> get_result ();
A continuación, probamos si el número de filas es mayor que cero. Si no es así, imprimimos un mensaje:
if ($ res-> num_rows> 0) {
// RESTO DE CÓDIGO AQUÍ
}
demás {
imprimir "Error - No hay filas";
}
Si se encontraron filas, podemos recorrer y construir nuestro código HTML desplegable:
while ($ fila = $ res-> fetch_assoc ()) {['ID']$ qID = $ fila
;['Question']$ pregunta = $ fila
;
$ menú desplegable = $ menú desplegable. "
";
}
$ wholeHTML = $ startSelect. $ menú desplegable. $ endSelect;
El bucle da vueltas y vueltas mientras hay filas en la tabla. Lo primero que hacemos es tomar los valores de ID y Pregunta de la tabla:['ID']$ qID = $ fila
;['Question']$ pregunta = $ fila
;
El ID de fila va en la variable $ qID que configuramos en la parte superior del código; la pregunta de la fila entra en una variable propia, $ question. Una vez que tenemos estos valores, podemos usarlos para construir el HTML:
$ menú desplegable = $ menú desplegable. "
";
Solo necesitamos la parte OPTION de la etiqueta SELECT, aquí. Agregamos $ qID como el parámetro VALUE. La pregunta en sí entra entre paréntesis puntiagudos.
Una vez que el ciclo ha hecho su trabajo, ¿cuándo se puede juntar todo el HTML para obtener una lista desplegable?
$ wholeHTML = $ startSelect. $ menú desplegable. $ endSelect;
Podemos usar la variable $ wholeHTML en la parte FORM del HTML. Aquí está el HTML para el FORMULARIO:
La ACCIÓN de este formulario es enviarse a sí mismo para su procesamiento. Lo hace cuando se hace clic en el botón con el TIPO llamado "Enviar". El NOMBRE de este botón Enviar es "Enviar1".
Sin embargo, observe la declaración impresa:
PHP print $ wholeHTML; ?>
La variable $ wholeHTML contiene nuestra lista desplegable.
Clics de botones
Detectamos si se hizo clic en el botón del formulario con este código PHP, que está en la parte superior:['Submit1']if (isset ($ _ GET
)) {['drop1']$ getDropdownID = $ _GET
;
header ("Ubicación: survey.php? h1 =". $ getDropdownID);
}
Esto detecta si se hizo clic en el botón con el NOMBRE Enviar1. Si lo fue, tenemos esto como primera línea:['drop1']$ getDropdownID = $ _GET
;
Estamos intentando obtener el NOMBRE del cuadro desplegable SELECCIONAR HTML. Si recuerdas, teníamos esto para SELECT:
$ startSelect = "
. Los VALORES provienen de esta parte del código:
"
Cada VALOR DE OPCIÓN será diferente y proviene del campo ID en la tabla de la base de datos.
La siguiente línea es una redirección:
header ("Ubicación: survey.php? h1 =". $ getDropdownID);
Queremos redirigir a la página survey.PHP. Pero necesitamos que esta página tenga una identificación. De esa manera, el código de la página de la encuesta puede tomar el valor de ID y usarlo para buscar la encuesta correcta. Debido a que estamos usando GET como nuestro MÉTODO DE FORMULARIOS, podemos hacer esto con la dirección web:
survey.php? h1 = " El signo de interrogación significa que sigue un valor. El nombre del valor es algo que hemos llamado h1. Pero puedes llamarlo casi como quieras. Después de un signo igual, escribe el valor que desea enviar a la página. En nuestro caso, este valor está contenido en la variable$ getDropdownID
.
Y ese es el código de la página setSurvey. Es un poco complejo, pero estúdielo de cerca y esperemos que tenga sentido. Pero todo lo que estamos haciendo realmente es tomar una identificación de una tabla de base de datos y enviarla a otra página. Esa página es survey.php. Echaremos un vistazo al código PHP para eso ahora.
<- Atrás una página | Pasar a la siguiente parte ->
Volver a la página de contenido de PHP
Recomendado para ti
- Este teclado profesional de 35 teclas con una sola mano con control avanzado programable te hace sentir más cómodo y crea tu propio teclado especial
- Mini portátil de 35 teclas, diseño mini que ofrece una experiencia de funcionamiento con una sola mano extremadamente simple
- Adecuado para tus manos y muñeca, simplifica el complejo procedimiento operativo, vence al rival más rápido en los juegos
- Teclado compatible con MAC, Win 2000, Win XP, Win ME, Vista, Win7, Win8, Android, Linux y más
- Brillante: retroiluminación LED, más fresco por la noche
- Bajo la tapa de esta llamativa caja RGB está el procesador AMD Ryzen 5 5500 tiene una frecuencia de reloj de alto rendimiento de 3,6 GHz y en combinación con la NVIDIA RTX 3060 con 12 GB de VRAM, DLSS y trazado de rayos, ofrece una experiencia gráfica de ensueño que hará que tu corazón se acelere.
- Gracias a los 16 GB de RAM a 3200 MHz y a la unidad SSD M.2 de 500GB, disfrutarás de los tiempos de carga más cortos y estarás siempre un paso por delante de tus rivales. Para una máxima comodidad, hemos preinstalado Windows 10 Pro en tu PCVIP y también hemos instalado una tarjeta WiFi. Sólo tienes que enchufar el PC, encenderlo y la diversión puede empezar de inmediato.
- Vas a convertirte en el mejor jugador en un tiempo récord gracias a la mejor configuración de ordenador gaming. No hay límites con nuestro innovador PC Gaming. Mejora tu experiencia de juego con el impresionante rendimiento del hardware de los PC Gaming de Ibericavip
- Rendimiento de primera clase gracias a la NVIDIA RTX 3060 con 12 GB de VRAM y ray tracing. Además, incluimos un monitor LED Full HD de 27 pulgadas, un teclado gaming RGB y un ratón gaming RGB con la mejor alfombrilla XXL
- Pantalla: Monitor Gaming Curvo 27" 165 Hz Full HD G-Sync Free Sync Compatible
- Romer-G Táctil: Los interruptores mecánicos Romer-G exclusivos convierten a Orion Spectrum en el teclado rápido de nuestra historia, una actuación de 1,5 mm permite la entrada de datos en Orion
- Velocidad y Rendimiento: El teclado con cable USB Logtiech Orion Spectrum ofrece una gran velocidad, con un 40 por ciento de durabilidad para un rendimiento optimo usado con un ratón Logitech
- RGB LIGHTSYNC: La iluminación RGB de Orion Spectrum se puede personalizar con una paleta de 16 millones de colores, la parte superior de cada tecla está iluminada para un resplandor uniforme
- Segunda Pentalla Arx: Mediante la base ajustable se pueden conectar Smartphones y tablets a Orion Spectrum, con Arx Control, los dispositivos móviles pueden mostrar información del juego en curso
- Teclas G Programables: El teclado Orion Spectrum dispone de 9 teclas G totalmente personalizables, a las que se pueden asignar comandos por perfil, colocadas para optimizar el acceso