Cómo redirigir el botón dinámico según el ID de la base de datos al hacer clic y recuperar el registro asociado con el mismo ID

programación


Tengo un botón dinámico, cuando hago clic en (Esquema del curso), recupera el ID del registro de base de datos MySQL y lo redirige a una página.

Quiero que obtenga todos los datos asociados con la ID en la que se hizo clic y que se muestren en la misma página a través de diferentes esquemas de cursos.
que no está funcionando.

Lo que he probado:

//button_clicked.php:
<?php 
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
include('connect.php');

// Fetch course data from database
$query = "SELECT id, btn_label, title FROM course";
$result = mysqli_query($conn, $query);
// Generate buttons with course IDs as identifiers
while ($row = mysqli_fetch_assoc($result)) {
    $courseID = $row['id'];
    $courseName = $row['btn_label'];
 
    echo "<button class='courseButton' onclick='redirectToCourse($courseID)'>$courseName</button>";

}
mysqli_free_result($result);

?>
<script src="bttn_clicked.js"></script>
</body>
</html>

//button_clicked.js

function redirectToCourse(courseID) {
    window.location.href = "course_display.php?id=" + courseID;
 }

Solución 1

Su mejor y más segura forma es hacer uso de la sesión que ya declaró en su página ‘button_clicked.php’.

Cita:

Las variables de sesión funcionan almacenando información del usuario que se utilizará en varias páginas (por ejemplo, nombre de usuario, nombres de cursos, etc.). De forma predeterminada, las variables de sesión duran hasta que el usuario cierra el navegador o se cierra la sesión.

Para configurar sus variables –

PHP
<?php
//Set session variables...
$_SESSION["courseID"] = $courseID;
$_SESSION["courseName"] = $courseName;
?>

Para utilizar estos valores en su nueva página ‘course_display.php’ –

PHP
<?php
session_start(); // Always start the page with 'session_start()...

//Echo session variables that were set on your previous page...
echo "User ID is - " . $_SESSION["courseID"] . ".<br>";
echo "Course Name is - " . $_SESSION["courseName"] . ".";
?>

Puede utilizar estos valores en cualquier página mientras la sesión esté abierta y válida.

Para ver todas las variables contenidas en una sesión:

PHP
<?php
print_r($_SESSION);
?>

SIEMPRE destruye tu sesión cuando hayas terminado con ella.

PHP
<?php
session_start();

//Remove all session variables...
session_unset();

//Destroy the session...
session_destroy();
?>

Estos son los conceptos básicos del manejo de sesiones, hay mucho más que encontrará buscando en Google; sin embargo, le indicará la dirección correcta. Lea también más sobre esto:
Sesiones PHP[^]

コメント

タイトルとURLをコピーしました