2016-08-13 1 views
0

abrufen, so dass ich nicht wusste, wie man es im Titel richtig ausdrücken, aber ich werde es hier tun. Ich habe zwei Seiten, in der ersten habe ich eine Liste mit einigen Items hinzugefügt (jeder hat einen Wert). Was ich möchte, ist, wenn der Benutzer auf ein Element klickt, er/sie geht auf die zweite Seite und es würde ihm/ihr eine Listenansicht zeigen (die MySQL-Daten basierend auf dem Wert, den sie ausgewählt haben, abruft). Aber mein Problem ist, wenn ich auf ein Element auf der ersten Seite klicke, zeigt es mir NICHTS auf der zweiten Seite.JQuery Mobile PHP MySQL Daten in der zweiten Seite basierend Auswahl von der ersten Seite

Ich habe dies mit mehreren Methoden seit mehreren Tagen versucht, und es wird jetzt frustrierend! Ich brauche wirklich Hilfe damit. Sehr geschätzt.

Hier ist meine erste Seite Code:

<?php 
session_start(); 
include "partials/connectDb.php"; 

if (isset($_POST["goverVal"])) 
{ 
    $_SESSION["goverVal"] = $_POST["goverVal"]; 
} 
?> 

<div data-role="page" id="homepage"> 
    <!-- HEADER INCLUDE --> 
    <?php include "partials/header.php"; ?> 
    <div data-role="main" class="ui-content" align="center"> 
     <h2>Select A Governorate</h2> 
      <form action="index.php" method="POST"> 
       <ul data-role="listview" id="goverVal" name="goverVal"> 
       <?php 
        include "partials/connectDb.php"; 

        $sql = "SELECT * FROM governorate_table;"; 
        $run_query = mysqli_query($conn, $sql); 

        while ($row = mysqli_fetch_array($run_query)) 
        { 
         $gId = $row['g_id']; 
         echo "<li data-value='{$gId}'><a href='area_page.php' class='ui-btn'>$gId - $row[name]</a></li>"; 
        } 
       ?> 
       </ul> 
      </form> 
    </div> 
    <!-- FOOTER INCLUDE --> 
    <?php include "partials/footer.php"; ?> 
</div> 

================================ ====================================

Und das ist der Code meiner zweiten Seite :

<?php 
session_start(); 
include "partials/connectDb.php"; 

$goverChoice = $_SESSION["goverVal"]; 
?> 

<div data-role="page" id="areaPage"> 
    <!-- HEADER INCLUDE --> 
    <?php include "partials/header.php"; ?> 
    <div data-role="main" class="ui-content" align="center"> 
     <h2>Select an Area</h2> 
     <?php 
      include "partials/connectDb.php"; 

      $q = "SELECT * FROM area_table WHERE governorate = '$goverChoice';"; 

      $run_sql = mysqli_query($conn, $q); 

      echo "<ul data-role='listview'>"; 
      while ($row = mysqli_fetch_array($run_sql)) 
      { 
       echo "<li><a href='#'>".$row['area_name']."</a></li>"; 
      } 
      echo "</ul>"; 
     ?> 
    </div> 
    <!-- FOOTER INCLUDE --> 
    <?php include "partials/footer.php"; ?> 
</div> 

Antwort

0

Macht nichts. Ich habe endlich eine passende Lösung gefunden. Hier ist, was ich verwenden, wenn jemand in das gleiche Problem lautet:

auf der ersten Seite:

$(document).ready(function(){ 
    $('#goverVal').on("click", "li", function(){ 
     $.ajax("update_session.php",{method:"post", data:{val:$(this).attr("data-value")}}); 
    }); 
}); 

Und dies in einer separaten Datei:

<?php 
//Another File 
session_start(); 
if (isset($_POST["val"])) 
{ 
    $_SESSION["val"] = $_POST["val"]; 
} 
?> 

und diese Zeile in den zweiten Seite, wo die Daten zu zeigen sind, an der Spitze:

$goverChoice = $_SESSION["val"]; 
Verwandte Themen