Tengo una base de datos que se parece a esto.

+------------+------+
| playername | team |
+------------+------+
| John       | 1    |
| Tim        | 2    |
| ...        | ...  |

En mi página obtengo todos los nombres del equipo 1 arriba y todos los nombres del equipo 2 abajo. Lee todos los nombres de los jugadores y crea un elemento HTML para cada jugador con un evento onclick. Cuando hago clic en un elemento, obtengo el texto del elemento ...

<?php include_once 'connection.php';?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dashboard</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.js"></script>
</head>
<body>
    <?php
        $sql = "SELECT * FROM teams WHERE team = 1;";
        $result = mysqli_query($conn, $sql);
        $resultCheck = mysqli_num_rows($result);

        if ($resultCheck > 0) {
            while ($row = mysqli_fetch_assoc($result)) {
                echo "<button href='#' onclick='clickfunction(this)'>".$row['playername']."</button>";
            }
        }
    ?>

    <?php
        $sql = "SELECT * FROM teams WHERE team = 2;";
        $result = mysqli_query($conn, $sql);
        $resultCheck = mysqli_num_rows($result);

        if ($resultCheck > 0) {
            while ($row = mysqli_fetch_assoc($result)) {
                echo "<button href='#' onclick='clickfunction(this)'>".$row['playername']."</button>";
            }
        }
    ?>

    <script>
        function clickfunc(obj) {
            var playername = $(obj).text();

            **// SOME CODE TO PASS playername TO change.php**
        }


    </script>

</body>
</html>

Y tengo un archivo PHP change.php que busca el nombre pasado en la base de datos y luego cambia el equipo de 1 a 2 o al revés. (la consulta SQL funciona perfectamente bien en la base de datos)

<?php
  include_once 'connection.php';
  $playername = $_GET['playername'];

  $sql = "UPDATE teams SET team = IF(team = 1, 2, 1) WHERE playername = '$playername';";
  mysqli_query($conn, $sql);

  header("Location: index.php");
?>

La pregunta: Ahora tengo el problema de que no sé cómo puedo, cuando hago clic en un elemento y leo el texto, envío este texto como parámetro al archivo chance.php para que PHP archivo puede trabajar con él.

Por ejemplo: si hago clic en John, el texto "John" se envía como parámetro a chance.php y se procesa allí. El resultado sería entonces que Juan, si estaba arriba, ahora está abajo. O al revés.

-3
Josip Jerkovic 30 ago. 2020 a las 23:23

1 respuesta

La mejor respuesta

Debido a que obtiene el valor usando $_GET, simplemente redirija la página a change.php usando javascript window.location y coloque el parámetro en la URL:

function clickfunc(obj) {
     var playername = $(obj).text();
     window.location = "change.php?playername=" + playername
}
0
catcon 31 ago. 2020 a las 01:42