Je m'excuse en avance de mon manque de connaissance et vous prie d'être indulgent sur mes erreurs.
Je vous explique mon soucis.
J'ai créé une db en MySql que je remplit via un formulaire. (Composé de Pk_News (clé primaire AI), Date (Datetime), titre, contenu, auteur (tous Text).
Je veut créer une page en Php qui afficherais le contenu de ma Db. Avec mes connaissances et ma patience je suis arriver à faire ceci. http://www.cotetoujours.be/V2/news.php
Je cherche a résoudre le soucis des caractères non interpréter. Résolu (mauvais type d'encodage dans ma page) Et je voudrais surtout faire un système qui afficherais seulement une partie de l'article (Date, Titre, 10-15 1er mot du champs contenu) avec un lien qui ouvrirais l'article complet. Et surtout je voudrais comprendre vos astuces et technique pour cerner un peu mieux le Php.
Et c'est la que je me perd un petit peu
Un peu de code ma page "news.php" (n'hésitez pas à m'éclairer si vous voyez des erreurs ou choses a éviter).
Citation :
<?php
include('connection.php');
$nombreNews = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS nbre FROM news')); $nombreTitre = ceil($nombreNews['nbre'] / 5); // le 5 symbolise le Nombre de news par Page echo '<div id="listing">Page : '; for ($i = 1 ; $i <= $nombreTitre ; $i++) { echo ' <a href="news.php?page=' . $i . '">'. $i .'</a>'; } '</div>';
if (isset($_GET['page'])) { $page = $_GET['page']; } else { $page = 1; } $premierMessageAafficher = ($page - 1) * 5; $reponse = mysql_query('SELECT * FROM tableDb ORDER BY date DESC LIMIT ' . $premierMessageAafficher . ', 5');
$nombreNews = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS nbre FROM news')); <=== aucun contrôle d'erreur : très mauvais $nombreTitre = ceil($nombreNews['nbre'] / 5); // le 5 symbolise le Nombre de news par Page echo '<div id="listing">Page : '; for ($i = 1 ; $i <= $nombreTitre ; $i++) { echo ' <a href="news.php?page=' . $i . '">'. $i .'</a>'; } '</div>'; <=== manque pas un echo là ?
if (isset($_GET['page'])) <=== c'est bien de verifier l'existence d'une variable mais utilise array_key_exists, c'est pas valable comme condition { $page = $_GET['page']; } else { $page = 1; } $premierMessageAafficher = ($page - 1) * 5; $reponse = mysql_query('SELECT * FROM tableDb ORDER BY date DESC LIMIT ' . $premierMessageAafficher . ', 5');
echo'<table width="740" id="'.$tableau.'"> <==== utilise la syntaxe heredoc ou mieux : ecris du html avec des <?php echo $xxxx ?> <tr> <td> <div id="date"><p>'. $affichageDate. '</p></div> <div id="titre"><p>' . $donnees['titre'] . '</p></div> <div id="texte"><p>' . $donnees['contenu'] . '</p></div> <div id="signature"><p>' . $donnees['auteur'] . '</p></div> </td> </tr> </table>'
Message édité par smaragdus le 12-12-2010 à 22:35:43
Marsh Posté le 10-12-2010 à 19:23:58
Bonjour,
Je m'excuse en avance de mon manque de connaissance et vous prie d'être indulgent sur mes erreurs.
Je vous explique mon soucis.
J'ai créé une db en MySql que je remplit via un formulaire.
(Composé de Pk_News (clé primaire AI), Date (Datetime), titre, contenu, auteur (tous Text).
Je veut créer une page en Php qui afficherais le contenu de ma Db.
Avec mes connaissances et ma patience je suis arriver à faire ceci.
http://www.cotetoujours.be/V2/news.php
Je cherche a résoudre le soucis des caractères non interpréter.Résolu (mauvais type d'encodage dans ma page)Et je voudrais surtout faire un système qui afficherais seulement une partie de l'article (Date, Titre, 10-15 1er mot du champs contenu) avec un lien qui ouvrirais l'article complet. Et surtout je voudrais comprendre vos astuces et technique pour cerner un peu mieux le Php.
Et c'est la que je me perd un petit peu
Un peu de code ma page "news.php" (n'hésitez pas à m'éclairer si vous voyez des erreurs ou choses a éviter).
<?php
include('connection.php');
$nombreNews = mysql_fetch_array(mysql_query('SELECT COUNT(*) AS nbre FROM news'));
$nombreTitre = ceil($nombreNews['nbre'] / 5); // le 5 symbolise le Nombre de news par Page
echo '<div id="listing">Page : ';
for ($i = 1 ; $i <= $nombreTitre ; $i++)
{
echo ' <a href="news.php?page=' . $i . '">'. $i .'</a>';
}
'</div>';
if (isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}
$premierMessageAafficher = ($page - 1) * 5;
$reponse = mysql_query('SELECT * FROM tableDb ORDER BY date DESC LIMIT ' . $premierMessageAafficher . ', 5');
echo'<table width="740" id="'.$tableau.'">
<tr>
<td>
<div id="date"><p>'. $affichageDate. '</p></div>
<div id="titre"><p>' . $donnees['titre'] . '</p></div>
<div id="texte"><p>' . $donnees['contenu'] . '</p></div>
<div id="signature"><p>' . $donnees['auteur'] . '</p></div>
</td>
</tr>
</table>'
D'avance merci de votre aide
Message édité par forestguns le 10-12-2010 à 23:04:51