2017-04-08 67 views
-1

我的網站上有一個搜索欄,它調用了一個在數據庫中進行查詢的腳本。自動將數組發送到另一個頁面

一旦查詢完成後,我想將結果返回到第一頁,但:

我不想去通過會話,因爲用戶可以有多個選項卡中打開,而我不希望用一個序列化來傳遞url中的結果,因爲結果在搜索欄中確實不太漂亮。

你有一個想法如何將數組從一個頁面傳遞到另一個,而不使用AJAX?

我送的值與:search.php中

<form action="../core/data_search.php" method="post" id="research_form"> 
    <input type="text" id="search" name="search" /> 
    <input type="submit" value="Rechercher" id="research" /> 
</form> 

我的研究腳本是:

<?php 
session_start(); 
require_once("conf.php"); 

$id = $_SESSION["id"]; 
if ($_POST && !empty($_POST)) { 
    $data = $_POST['search']; 
    //Recherche d'une adresse mail 
    if (preg_match (" /^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/ " , $data)){ 
     $column = "WHERE `email` = '$data' AND `add_by_user` = '$id'"; 
    //Recherche d'un code postal complet (ou la recherche strictement égal à la colonne)  
    }elseif (preg_match(" /^(?:(?:(?:0[1-9]|[1-8]\d|9[0-5])(?:\d{3})?)|97[1-8]|98[4-9]|2[abAB])$/ ", $data)) { 
     $column = "WHERE `zip_code` LIKE '$data%' AND `add_by_user` = '$id'"; 
    }elseif (preg_match(" /^([a-zA-Z]+[ '-]?[a-zA-Z]+){1,30}$/ ", $data)) { 
     $column = "WHERE `first_name` = '$data' OR `last_name` = '$data' AND `add_by_user` = '$id'"; 
    //Recherche par date de fin de formation 
    }elseif (preg_match(" /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/ ", $data)) { 
     $column = "WHERE `end_formation_date` = '$data' AND `add_by_user` = '$id' "; 
    }else{ 
     header("Location : ../search.php?return=error"); 
     exit(); 
    } 

    $data = $bdd->query("SELECT * FROM customers $column "); 
    $result = $data->fetchAll(PDO::FETCH_ASSOC); 

    // Here i replace the end of script for use Ajax 
    if($result){ 
     echo json_encode($result); 
    } 
} 

我需要這種類型的搜索結果中的search.php

<form action="../core/data_search.php" method="post" id="research_form"> 
    <input type="text" id="search" name="search" /> 
    <input type="submit" value="Rechercher" id="research" /> 
</form> 
<section> 
    <p>firstname : <?=$firstname?> <!--received to my queries script--></p> 
    <p>lastname : <?=$lastname?> <!--received to my queries script--></p> 
    <p>age  : <?=$age?> <!--received to my queries script--></p> 
</section> 
+0

令人困惑的解釋是否可以向我們提供一些代碼示例? –

+1

只需在php文件的底部添加表單?並檢查您是否收到了發佈數據,然後查詢進行,然後顯示名字,姓氏和年齡。如果您尚未收到發佈數據,則只需顯示錶單。 –

+1

如何處理髮布數據並在需要時顯示html輸出的示例:https://pastebin.com/uPGXEfMz –

回答

-1

查詢完成後,結果已存儲在變量中。所以你可以在頁面上顯示。

如果您想將其傳輸到另一個頁面,可以將序列化數組存儲到HTML隱藏表單元素中。 這要求用戶提交表單以將數組傳遞到下一頁。

+0

但我不希望任何人留在此頁面上,它只是一個查詢腳本;) – Buck

相關問題