2016-09-08 3 views
-1

Ich bin dabei, eine "Schein" -Website für eine Klasse zu erstellen, und ich habe Probleme, die Informationen aus meiner Datenbankdatei auf die tatsächliche Seite meiner Website zu bekommen. Ich sollte erwähnen, dass ich ein total php newb bin. Auch gibt es noch keine Sicherheit.Wie Informationen aus der Datenbankdatei abgerufen werden und diese Informationen in der Website-Datei abgerufen werden?

I'm calling the connection from another file, so I didn't include that.

Datenbankfunktion:

function GetProductsByCategory($categoryID) { 
     global $conn, $productsResult; 
     echo $categoryID; 
     $sql = "SELECT * FROM products WHERE prodCategory = '$categoryID'"; 
     $productsResult = $conn->query($sql); 
    } 

Webseite Datei:

//In the head of website file 
<?php 
     $categoryID = "87"; 
     if (isset($_GET['category'])) { 
      GetProductsByCategory($categoryID); 
     } else { 
      // Fallback behaviour goes here 
     } 
?> 

//In the body 
<?php while ($row = $productsResult->fetch_assoc()) { 
      //Just trying to get information from the database file 
      echo '<div>'.$row["prodName"].'</div>'; 
     } 
?> 

Ich sollte erwähnen, dass nichts einen Fehler wirft, es Echos an der Spitze der Kategorie-ID aus, aber innen die <div> es zeigt einfach nichts.

+0

Sie müssen $ productsResult von der Funktion zurückgeben, dann verwenden Sie diesen Rückgabewert in Ihrer Weile p –

+0

Es ist einfacher, das Ergebnis zurückzugeben, anstatt es als global zu deklarieren. – aynber

+0

Sind Sie sicher, in Ihrer Datenbank-ID ist eine Zeichenfolge? –

Antwort

0

Rufen Sie die Funktion und speichern Sie das Ergebnis in einer Variablen:

$result = GetProductsByCategory($categoryID); 

dann innerhalb der Funktion:

$productsResult = $conn->query($sql); 
return $productsResult; 

dann sollten Sie Ihre while-Schleife verwenden dieses Ergebnis zurückgegeben (dh $result):

while ($row = $result->fetch_assoc()) { ... } 
Verwandte Themen