- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema nel visualizzare Articoli
-
Problema nel visualizzare Articoli
Buongiorno a tutti , questa mattina mi è imbattuto un problema che non capisco come risolvere, secondo diverse guide che ho letto mi sembra di fare tutto correttamente, comunque veniamo al punto:
In un database mysql ho creato questi campi:
id - titolo - articolo
Poi ho creato 3 articoli completi di titolo e articolo, ora volevo visualizzare questi articoli in una pagina, direte semplice , beh lo pensavo pure io.
Ho inserito questo codice:
[php]
<?php
// connessione e selezione del database
mysql_connect('localhost', 'root', 'mysql')
or die('Connessione non riuscita: ' . mysql_error());if(!mysql_select_db('viaggi'))
die('Selezione database fallita!');// query per ottenere l'elenco dei files nel DB
$query = "SELECT id , titolo , articolo FROM viaggiprova";$result = mysql_query($query)
or die('Query non valida: ' . mysql_error());while ($row = mysql_fetch_array($result))
echo "$row[titolo] <br><br>";
echo "$row[articolo]<br><br>";?>
[/php]Però mi visualizza solo il titolo :():
in questo modo :prova tecnica
seconda prova
terza prova
Che sarebbero i nomi che gli ho dato agli articoli , l'articolo in se non lo visualizza , se rimuovo però [php]echo "$row[titolo] <br><br>"[/php] invece visualizza gli articoli !
Non capisco.
-
Ciao the_arch,
[php]
<?php
// connessione e selezione del database
mysql_connect('localhost', 'root', 'mysql')
or die('Connessione non riuscita: ' . mysql_error());if(!mysql_select_db('viaggi'))
die('Selezione database fallita!');// query per ottenere l'elenco dei files nel DB
$query = "SELECT id , titolo , articolo FROM viaggiprova";$result = mysql_query($query)
or die('Query non valida: ' . mysql_error());while ($row = mysql_fetch_array($result))
{
echo "$row[titolo] <br><br>";
echo "$row[articolo]<br><br>";
}
?>
[/php]Senza parentesi viene ciclata solo l'istruzione echo "$row[titolo] <br><br>";
-
Grazie per la risposta :Davevi perfettamente ragione , ora ho impostato un limite agli articoli
[php]
$query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT 0,5";
[/php]in questo modo solo 5 articoli dal database recupera , visto che ho sempre un problema con gli articoli scrivo direttamente qui, per visualizzare le altre pagina con gli altri articoli , che istruzione dovrei dare ??
Grazie.
-
Dovresti fare:
[php]
$page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
$start = ($page-1)*5;$query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";
[/php]
-
Ti ringrazio , ma non riesco a capire quest'istruzione , come fa a creare le pagine ? Dovrei creare un altra pagina a parte ? E' un istruzione che va inserita dove ? Grazie per l'aiuto.
-
Proprio sopra la query, devi crearti tu i link alle varie pagine, puoi fare articolitotali/5 e li arrotondi per eccesso per sapere quante pagine in totale hai, e ti crei i collegamenti a file.php?page=NUMEROPAGINA.
Prego.
-
Ci ho provato ma niente
[php]
<?php
// connessione e selezione del database
mysql_connect('localhost', 'root', 'mysql')
or die('Connessione non riuscita: ' . mysql_error());if(!mysql_select_db('viaggi'))
die('Selezione database fallita!');// query per ottenere l'elenco dei files nel DB
$query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT 0,5";$result = mysql_query($query)
or die('Query non valida: ' . mysql_error());while ($row = mysql_fetch_array($result)) {
echo "{$row['titolo']} <br><br>";
echo "{$row['articolo']}<br><br>";}
$page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
$start = ($page-1)*5;echo " <a href=view.php?page=2>2</a> ";
$query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";
?>
[/php]Gli ho messo il link solo per una pagina per fare un test però non mi funziona , la pagina dove sto lavorando ora si chiama view.php.Ma in ogni caso non riesco a capire il sistema , cioè mi sembra di capire che gli stai dicendo che in base al numero pagina deve fare una moltiplicazione scusami , ma come funziona?? Sono scarso ancora abbì pietà.
-
[php]
<?php
// connessione e selezione del database
mysql_connect('localhost', 'root', 'mysql')
or die('Connessione non riuscita: ' . mysql_error());if(!mysql_select_db('viaggi'))
die('Selezione database fallita!');// query per ottenere l'elenco dei files nel DB
$page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
$start = ($page-1)*5;
$query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";$result = mysql_query($query)
or die('Query non valida: ' . mysql_error());while ($row = mysql_fetch_array($result)) {
echo "{$row['titolo']} <br><br>";
echo "{$row['articolo']}<br><br>";}
echo " <a href=view.php?page=2>2</a> ";
?>
[/php]
-
Ok corretto al volo , in questo modo però devo creare io le pagine , quindi dovrei avere un limite massimo di articoli , se invece volessi che i link alle pagine si generano in modo automatico in base agli articoli
thanks.
-
[php]
<?php
// connessione e selezione del database
mysql_connect('localhost', 'root', 'mysql')
or die('Connessione non riuscita: ' . mysql_error());if(!mysql_select_db('viaggi'))
die('Selezione database fallita!');// query per ottenere l'elenco dei files nel DB
$page = ((isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1);
$start = ($page-1)*5;
$query = "SELECT id , titolo , articolo FROM viaggiprova ORDER BY id DESC LIMIT $start,5";$result = mysql_query($query) or die('Query non valida: ' . mysql_error());
$total = mysql_num_rows($result);
while ($row = mysql_fetch_array($result)) {echo "{$row['titolo']} <br><br>";
echo "{$row['articolo']}<br><br>";}
$total_page = ceil($total/5);
for($i=1; $i<= $total_page; $i++)
echo '<a href=view.php?page='.$i.'>'.$i.'</a>';?>
[/php]
-
Perfetto , ti ringrazio.