Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2363 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Archives des données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Archives des données

n°693081
electroger
Posté le 06-04-2004 à 01:23:40  profilanswer
 

Bonjour tout le monde !
 
Je bosse actuellement sur un site qui comporte une partie qui permet de poster des articles (quelque chose de très simple : id, nom, prénom, date, titre et texte). La page qui affiche ces articles prend seulement les 5 plus récents. Mais j'aimerai comme même faire des archives afin de pouvoir consulter les vieux messages. Je sais pas du tout comment faire.
 
J'aimerai qu'ils soient classés par année ou par mois (je sais pas encore quelle sera la fréquence des posts).
 
Si quelqu'un a une petite idée pour réalisé ça, ça m'intéresse  :) .

mood
Publicité
Posté le 06-04-2004 à 01:23:40  profilanswer
 

n°693091
naceroth
Posté le 06-04-2004 à 01:52:12  profilanswer
 

hem, si tu attends le scrip tout fait, ça va chauffer pour tes oreilles :D
 
Plus sérieusement, c'est vraiment pas difficile, donc dis nous ce que tu as déjà fait (et le sgbd utilisé aussi, Mysql et Mssql c'est pas la même chose pour ce genre de chose :D)

n°693094
jagstang
Pa Capona ಠ_ಠ
Posté le 06-04-2004 à 01:54:33  profilanswer
 

je vois pas le problème. tu tries sur la date d'insertion de façon descendante en limitant le nombre d'élément à retourner
 
ex : SELECT * FROM table ORDER BY madate LIMIT (0, 5)

n°693095
jagstang
Pa Capona ಠ_ಠ
Posté le 06-04-2004 à 01:55:34  profilanswer
 

>>naceroth : php & MSSQL... je connais pas beaucoup d'hébergeurs !

n°693100
naceroth
Posté le 06-04-2004 à 02:01:20  profilanswer
 

JagStang a écrit :

>>naceroth : php & MSSQL... je connais pas beaucoup d'hébergeurs !


 
Moi non plus, mais il a jamais précisé que c'était destiné au net :D
 
(déjà eu un truc du genre pour l'intranet d'une bibliothèque, php & mssql comme config, donc bon  :hello: )

n°693103
jagstang
Pa Capona ಠ_ಠ
Posté le 06-04-2004 à 02:05:44  profilanswer
 

il bosse sur un site avec des news. c'est pas pour le faire tourner en local. bref


Message édité par jagstang le 06-04-2004 à 02:06:34
n°693105
naceroth
Posté le 06-04-2004 à 02:08:42  profilanswer
 

ben oui, et alors ?
 
PHP tourne en local comme sur le net et avec autre chose que mysql, et ce serait toujours dans la catégorie php, et ca serait toujours un site, pas un pot de lait...


Message édité par naceroth le 06-04-2004 à 02:09:19
n°693106
jagstang
Pa Capona ಠ_ಠ
Posté le 06-04-2004 à 02:13:16  profilanswer
 

arrète tu t'enfonces :D
 
le couple php/mysql est _largement_ plus répandu que php/mssql ...
 

n°693108
naceroth
Posté le 06-04-2004 à 02:18:38  profilanswer
 

Ca j'ai jamais dit le contraire :D
 
Mais largement ne signifie pas uniquement, et ça coute rien de poser la question avant, s'il répond mysql tant mieux, s'il répond mssql t'as pas l'air idiot avec ton limit :D

n°693109
jagstang
Pa Capona ಠ_ಠ
Posté le 06-04-2004 à 02:21:04  profilanswer
 

il a pas encore précisé la bdd. Mais je suis confiant ;)

mood
Publicité
Posté le 06-04-2004 à 02:21:04  profilanswer
 

n°693437
electroger
Posté le 06-04-2004 à 11:44:46  profilanswer
 

mysql.
 

JagStang a écrit :


ex : SELECT * FROM table ORDER BY madate LIMIT (0, 5)


 
Non, ça c'est ce que j'ai déjà utilisé pour l'affichage des articles récents. Là, je veux mettre les archives.
 
Voici ce que j'ai fait :
 
La première page qui liste les années :
 
<?
 if($rang!=1 && $rang!=2)
     {
     include('partie_privee/badpass.php3');
     }
 else {
  CONNEXION A LA BDD
 
  $sql= "SELECT DISTINCT YEAR(date) FROM tbl_articles ORDER by date DESC";
  $result= mysql_query ("$sql" );
  while ($row=mysql_fetch_row($result)){
?>
<a href="index.php3?rep_rubrique=partie_privee/commentaires/archives&page_centre=<? echo ($row[0]); ?>">Les archives de l'année <? echo ($row[0]); ?></a><br />
<?
  }
 }
?>
 
 
Ca, ça marche, y a pas de problème. Maintenant je vais créer des pages qui afficheront tous les articles d'une année. C'est pas pratique parce que je dois créer des pages pour chaque année, mais bon, je peux très bien en faire jusqu'en 2047, histoire d'être tranquille :
 
 
<?
 if($rang!=1 && $rang!=2)
     {
     include('partie_privee/badpass.php3');
     }
 else  
  {
  CONNEXION A LA BDD
 
  $res= mysql_query ("$sql" );
   
  $sql = "select * from tbl_articles where date=XXXXXXX ORDER by date DESC";
   
  while ($val = mysql_fetch_array($res))
     {
   $d1 = $val[date];
   $d1 = chunk_split($d1,2,"-" );
   $val[article]=str_replace("\n","<br>",$val[article]);
   list($c_annee,$c_mois,$c_jour,$c_heure,$c_minute) = explode("-",$d1);
   $moments=$c_jour."/".$c_mois."/".$c_annee." @ ".$c_heure.":".$c_minute;
     echo "
    <h2>$val[titre]</h2>
    <div class='nom'>$val[nom],  
    $val[prenom], le $moments</div><br />
    <div>$val[article]</div>
    <hr>";
     }
 mysql_close();
   
   
  }
?>
 
 
Le problème qui se pose, c'est que je sais pas quoi mettre dans :
$sql = "select * from tbl_articles where date=XXXX ORDER by date DESC";
 
Dans ma BDD la date se présente comme ça :
0104061103 (année / mois / jour / heure / minute).
 
J'espère que c'est clair et que quelqu'un pourra m'aider  :sweat: .

n°693483
deliriumtr​emens
sic transit intestinal...
Posté le 06-04-2004 à 12:15:30  profilanswer
 

Ben dans ton lien de la première page, tu as la variable page_centre qui a la valeur de l'année selectionnée.
 
Tu peux donc récupérer l'année dans le $_GET['page_centre']
 
Donc
 

Code :
  1. If (!empty($_GET['page_centre']))
  2. {$date_archive=$_GET['page_centre']));
  3. et
  4. $sql="SELECT * FROM tbl_articles where YEAR(date)=$date_archive ORDER BY date DESC";


non ?

n°693505
electroger
Posté le 06-04-2004 à 12:42:07  profilanswer
 

J'suis vraiment trop con...  :sleep:  
 
Merci deliriumtremens  :jap: . Etant donné le format de la date dans ma BDD je pensais que ça pouvait pas passer, mais visiblement c'est bon. Je vous tiens au courant.
 
En tout cas merci  :jap: .

n°694498
electroger
Posté le 07-04-2004 à 11:03:10  profilanswer
 

Voilà, c'est bon j'ai terminé mon système d'archives, merci tout le monde  :) .
 
naceroth >> J'attendais pas un script tout fait. Par contre je savais pas que je pouvait recupérer les données avec "2001", "2002" etc, étant donné le format de la date dans ma BDD (ex : 0104061103).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Archives des données

 

Sujets relatifs
[ Révisions ] Questions sur les structures de donnéespb de recupération de données xml
[VBS] Récuperer des données par mail sous Excel[VB6] Récupération de données d'une boîte mail ?
Comment Lier des tables avec le gestionnaire de donnéesQT + base de données
Problème de connection à une base de données Oracle[SQL] Type de données incompatible dans l'expression du critère.
Bases de données et fichiers Excelsupprimer des donnees dans un recordset
Plus de sujets relatifs à : Archives des données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR