如何重定向到PHP MySql数据库中的另一个页面?

时间:2018-10-01 07:54:33

标签: php html mysql web-applications

如何根据用户所按的按钮将用户重定向到另一个php页面? 例如..我希望加载页面后,在其中生成包含从数据库获取的表的“ id”的按钮...单击该按钮时,您将重定向到其中有文本框的页面属于表ID的字段。

<?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT idCantiere,nomeCantiere,codiceCommessa,indirizzoCantiere FROM Cantiere";
$result = $conn->query($sql);
echo'<h1> <font face="verdana" color="green">Quale Cantiere desideri Modificare?</font> </h1>';
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
		
		echo'<br><br><br>';
		echo'<a href="#" onClick=navigaButton(); class="myButton" alt="">' . $row["nomeCantiere"] . '</a>';
       // echo '<a href="#" class="rainbow-button" alt="' . $row["nomeCantiere"] . '"></a>';
		
		//''<input type="button" value="' . $row["nomeCantiere"] . '" />'
    }
	echo'<br><br><br>';
	echo '<a href="../pagineHtml/inserimento/inserimentoGenerale/inserimentoCantiere.php" class="myButton" alt="Nuovo Cantiere +">Nuovo Cantiere +</a>';
	
} else {
    echo "0 results";
}
$idCantierePerSelect = $_POST["idCantiere"];
global = $idCantierePerSelect;


function navigaButton()
{
  // FUNCTION That redirect to the page
};

$conn->close();
?>

所以我必须拿起“ idCantiere”,并且必须确保通过单击打开我的页面上的按钮,找到带有“ idCantiere”表数据的textBox

2 个答案:

答案 0 :(得分:0)

非常快速地编写并且未经测试-您也许可以这样做。该功能必须是javascript才能与客户的操作(即按钮按下)进行交互,但是任务的处理由php完成。因此,在循环中,将记录的ID作为内联参数传递给函数,然后使用新的querystring重新加载同一页。 PHP将处理查询字符串,找到ID,然后执行其他数据库查找以找到要重定向到的页面。

<?php

    $servername = "localhost";
    $username = "";
    $password = "";
    $dbname = "";


    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) die("Connection failed");



    /* 
        This section should be ignored when page loads normally
        but will be processed when the `navigaButton` is called
        and the url changes.
    */
    if( $_SERVER['REQUEST_METHOD']=='GET' && isset( $_GET['action'],$_GET['id'] ) ){

        $sql='select NEWLOCATION from TABLE where ID=?';
        $stmt=$conn->prepare( $sql );
        if( $stmt ){
            $stmt->bind_param('i',$id);

            $id=filter_input( INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT );
            $stmt->execute();

            $stmt->store_result();
            $stmt->bind_result( $url );
            $stmt->close();


            /* read the recordset and .... */
            exit( header( 'Location: '.$url) );
        }

    }



?>

<!doctype html>
<html lang='en'>
    <head>
        <meta charset='utf-8' />
        <title>.... </title>
        <script>
            function navigaButton(id){
                location.search='action=redirect&id='+id
            };
        </script>
    </head>
    <body>
        <?php
            $sql = "SELECT idCantiere,nomeCantiere,codiceCommessa,indirizzoCantiere FROM Cantiere";
            $result = $conn->query($sql);


            echo'<h1> <font face="verdana" color="green">Quale Cantiere desideri Modificare?</font> </h1>';

            if ($result->num_rows > 0) {

                while($row = $result->fetch_assoc()) {

                    echo'
                    <br><br><br>
                    <a href="#" onClick=navigaButton('.$row['idCantiere'].'); class="myButton" alt="">' . $row["nomeCantiere"] . '</a>
                    <a href="#" class="rainbow-button" alt="' . $row["nomeCantiere"] . '"></a>';

                }

                echo'<br><br><br>
                <a href="../pagineHtml/inserimento/inserimentoGenerale/inserimentoCantiere.php" class="myButton" alt="Nuovo Cantiere +">Nuovo Cantiere +</a>';

            } else {
                echo "0 results";
            }

            $idCantierePerSelect = $_POST["idCantiere"];

            /* below is incorrect */
            /*global = $idCantierePerSelect;*/


            $conn->close();
        ?>
    </body>
</html>

答案 1 :(得分:0)

我认为您在动态服务器页面之间混淆了静态html。
1.PHP负责从数据库或服务器文件系统中感染数据,并将html标记发送到前端
2.浏览器从php接收字符串,并将字符串解析为html元素,最后开始运行javascript

如果要重定向页面。
在php header('Location: /your/path')
在javascript中,window.location.href='/your/path'