2017-05-07 1 views
-3

Nur um anzufangen, ich bin neu in PHP, so dass ich etwas offensichtliches verpasst haben könnte, also bitte bitte mit mir.PHP Anzeigen von Daten aus der Datenbank in eine Tabelle, wenn ein Link geklickt wird

Ich habe Hyperlinks (Flugzeuge, Schiffe Züge usw.) und wenn ich auf den Hyperlink "Ebenen" klicken, möchte ich alle Ebenen Datensätze in einer Tabelle angezeigt werden. Wenn ich auf ein anderes Fahrzeug klicke, möchte ich, dass die Tabelle mit neuen Daten aktualisiert wird.

Das Problem ist, wenn ich auf den Link "Züge" klicken, es aktualisiert nicht die Tabelle und zeigt relevante Daten an, es behält die gleichen Daten. Wie sage ich PHP, wenn ich den Link "Ebenen" klicke, möchte ich alle Datensätze mit dieser Produktlinie anzeigen.

Vielen Dank für jede Hilfe

As you can see in the pic, i clicked train but it still displays vintage cars

Hier ist mein Code:

<?php 
require_once('dbconfig.php'); 

//get productLine 
if (!isset($productLine)) { 
    $productLine = filter_input(INPUT_GET, 'productLine', FILTER_VALIDATE_INT); 
    if ($productLine == null || $productLine == FALSE) { 
     $productLine = 'Trains'; 
    } 
} 

//get all product lines 
$query = 'SELECT * FROM productlines'; 
$statement = $db->prepare($query); 
$statement->execute(); 
$productLines = $statement->fetchAll(); 
$statement->closeCursor(); 

//Get products for product line 
$queryProducts = 'SELECT * FROM products WHERE productLine = :productLine ORDER BY productCode'; 
$statement1 = $db->prepare($queryProducts); 
$statement1->bindValue(':productLine', $productLine); 
$statement1->execute(); 
$products = $statement1->fetchAll(); 
$statement1->closeCursor(); 

?> 

<!DOCTYPE html> 
<html> 
<head> 
    <title>Classic Models Online</title> 
    <link rel="stylesheet" type="text/css" href="main.css" /> 
</head> 
<body> 
<header><h1>ClassicModels Online</h1> 
<p>Classic models for all automobile enthusiasts</p> 
</header> 
<main> 
    <h1>Classic Models Product List</h1> 

    <aside> 
     <!--Display list of product lines--> 
     <h2>Product Lines</h2> 
     <nav> 
     <ul> 
      <?php foreach ($productLines as $productLine) : ?> 
      <li> 
       <a href=".?productLine=<?php echo $productLine['productLine']; ?>"> 
        <?php echo $productLine['productLine']; ?> 
       </a> 
      </li> 
      <?php endforeach; ?> 
     </ul> 
     </nav> 
    </aside> 

    <br> 
    <section> 
     <!--Display a table of products for product line--> 
     <h2><?php echo $productLine['productLine']; ?></h2> 
     <table> 
      <tr> 
       <th>Code</th> 
       <th>Name</th> 
       <th>Scale</th> 
       <th>Price</th> 
       <th>Total Sold</th> 
       <th>&nbsp;</th> 
      </tr> 

      <?php foreach ($products as $product) :?> 
      <tr> 
       <td> <?php echo $product['productCode']; ?> </td> 
       <td> <?php echo $product['productName']; ?> </td> 
       <td> <?php echo $product['productScale']; ?> </td> 
       <td> <?php echo $product['MSRP']; ?> </td> 
       <td> <?php echo $product['quantityInStock']; ?> </td> 
       <td> <form action="update_product.php" method="post"> 
        <input type="hidden" name="productCode" value="<?php echo $product['productCode']; ?>"> 
        <input type ="hidden" name="productLine" value="<?php echo $product['productLine']; ?>"> 
        <input type="submit" value="Update"> 
       </form> </td> 
      </tr> 
      <?php endforeach; ?> 
     </table> 
     <p><a href="add_product_form.php">Add Product</a></p> 
    </section> 
</main> 
    <footer> 
     <p>&copy; <?php echo date("Y"); ?> Classic Models Online.</p> 
    </footer> 
    </body> 
    </html> 

Antwort

0

Sie müssen die Produktlinie Variable aus der Query-String Sie haben zu erhalten die URL Sie brauchen so etwas wie

if(isset($_GET['productLine'])){ 
    $productLine = $_GET['productLine']; 
} 
+0

Danke, das hat geholfen! Es wird nur die Überschrift wird nicht aktualisiert. Etwas stimmt nicht mit crashovski

+0

change an echo $ _GET ['productLine']; – rbur0425

0

Just do if(isset($_GET["productLine"])){//do your stuff}

Verwandte Themen