Salve a tutti ragazzi, da qualche tempo sto cercando di apprendere PHP per creare un blog per il mio sito, ho creato una tabella chiamata 'articoli' con i seguenti campi: id_articolo, titolo_articolo, testo_articolo, autore_articolo, data_articolo. Naturalmente questa è solo una tabella di prova per comprendere meglio la funzione SELECT tramite PDO. Questo invece è una parte del template html che dovrò utilizzare per visualizzare i contenuti del DB:
codice HTML:
<section class="blog">
<h2>Titolo Articolo<p>Data: *, pubblicato da: *</p></h2>
<article class="blog">Testo Articolo</article>
</section>
Come ho già scritto in precedenza in un altro topic sto leggendo un libro per cercare di apprendere PHP/Mysql ed il codice in esso contenuto per la gestione dei risultati è il seguente:
Codice PHP:
$sql = 'SELECT x FROM x';
$result=$pdo->query($sql);
Per elaborare i dati e trasformarli in array invece viene utilizzato un ciclo while con la seguente sintassi:
Codice PHP:
while ($row = $result->fetch())
{
$variabili[] = $row['campo_database']
}
Per la visualizzazione invece viene utilizzato un ciclo foreach:
Codice PHP:
<?php foreach ($variabili as $variabile): ?>
<?php echo htmlspeacialchars($variabile, ENT_QUOTES, 'UTF-8') ?>
Ho provato ad adattare il codice alle mie esigenze per testarlo e visualizzare il titolo di un articolo:
Codice PHP:
<?php
$sql = 'SELECT titolo_articolo FROM articoli';
$result = $pdo->query($sql);
while ($row = $result->fetch())
{
$articles[] = $row['titolo_articolo'];
}
?>
<?php foreach ($articles as $article): ?>
<?php echo htmlspecialchars($article, ENT_QUOTES, 'UTF-8'); ?> <br />
<?php endforeach; ?>
Il codice funziona e viene eseguito ma mi restituisce tutti i campi del DB presenti in 'titolo_articolo' e non un singolo contenuto. Purtroppo il libro mi ha confuso molto le idee con l'utilizzo di questi due cicli e non sono riuscito a trovare una soluzione. Vorrei capire come gestire i singoli dati per adattarli al template HTML che ho scritto.
Questo mi porta ad un altro problema: ossia come "duplicare" la classe "blog" per visualizzare correttamente ogni articolo con il proprio titolo, testo, autore ecc.
Scusate se mi sono dilungato troppo ma vorrei comprendere bene questo concetto per non commettere errori in futuro; Grazie in anticipo.