Problema PHP

Airmax92

Nuovo Utente
15 Mar 2019
1
0
1
Salve, vi spiego quello che sto cercando di realizzare
Sto realizzando una pagina dove vengono mostrate tutte le categorie caricate dal database per un e-commerce
Ho avuto il seguente problema, la pagina non mi legge la seguente funzione:
PHP:
<?php
                $ArticoloId = $Sistema->Filtro($_GET['id']);
                $PrendiArticolo = $database->prepare("SELECT * FROM categorie WHERE id = :idArticles");
                $PrendiArticolo->bindParam(":idArticles", $ArticoloId);
                $PrendiArticolo->execute();
                while($PrendiArticoloFetch = $PrendiArticolo->fetch(PDO::FETCH_ASSOC))
                if($PrendiArticolo->rowCount() > 0 )
  ?>
In che senso non mi legge la seguente funzione? ho realizzato la funzione ma quando faccio riferimento alla funzione per esempio prendere il nome della tabella mi spunta testo bianco:
PHP:
<div class="block-category card card-block ">
        <h1 class="h1"><?php echo $PrendiArticoloFetch['nome']; ?></h1>
            <div id="category-description" class="text-muted"><p><?php echo $PrendiArticoloFetch['nome']; ?>:<?php echo $PrendiArticoloFetch['descrizione']; ?></p></div>
        </div>
Come posso fare per risolvere?
 
Hai creato una classe per filtrare i parametri che prendi da url? o_O
Non ti basta soltanto fare
PHP:
if(isset($_GET['id'])){
  $id = (int) $_GET['id'];
}

La connesione l'hai testata? funziona?
Stai usando una connessione PDO. (Dovrebbe essere organizzata un pò meglio la classe e mettere gia tutti i metodi dentro)
presumo che nella classe Database tu abbia messo nel __contruct() la connessione e che ora nella pagina dove ti trovi hai instanziato la classe in questo modo.

PHP:
$db = new Database;
$stmt = $db->prepare("SELECT * FROM categorie WHERE id = :id")
$stmt->bindValue(":id", $id, PDO::PARAM_INT);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_OBJ);
return $results;

poi nell' html ti cicli con il foreach.
Codice:
<ul>
<?php foreach($results as $result) : ?>
<li>$result->nome</li>
<?php endforeach; ?>
 

Discussioni simili