Php, Affichage Contenu Db

Php, Affichage Contenu Db - PHP - Programmation

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)  :ange:  
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  :pt1cable:  
 
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');
 
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
Reply

Marsh Posté le 10-12-2010 à 19:23:58   

Reply

Marsh Posté le 12-12-2010 à 22:35:00    

Rapidement, voici quelques erreurs à éviter :
 

Citation :


 
<?php  
 
include('connection.php');
   
 $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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed