IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Système de gestion de nouvelles avec photo [Sources]


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #521
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Oui j'ai un fichier menu.php.

    Je vais chercher un peu, mais pas avant lundi, car là je ne peux plus. Si mon problème persiste, j'ouvrirai une nouvelle discussion dans le forum PHP.

    Encore merci pour ton aide.

  2. #522
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Bonsoir Jérôme,

    Désolé de revenir te déranger, mais j'ai tenté de me dépatouiller en mettant un message sur le proxad de Free, mais rien. J'ai donc posté un message sur le forum PHP dont voilà le lien, et j'ai une réponse qui me ramène vers le fichier news_data_fromBD.php à la ligne 11.

    Au pire, j'ai remanier le système pour MySQL en MySQLI, donc si ça va trop loin, je l'utiliserais.

    Merci
    Salutations,

  3. #523
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut Ouverture page suivante identique à la première page.
    Bonjour à toutes et tous,

    Concernant l’ouverture des pages suivante j’ai un problème, quand je clique sur les suivantes l’url me donne bien la page qui suit, mais j’ai les mêmes news que ceux de la première page.
    JE cherche mais ne trouve pas le bug.

    Voici le code de «*news_fonction.php*» :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    <?php
    // © Jérome Réaux : http://j-reaux.developpez.com - https://www.jerome-reaux-creations.fr
    // ---------------------------------------------------
    // FONCTIONS D'AFFICHAGE DES NEWS
    // ---------------------------------------------------
     
    // ---------------------------------------------------
    // 1a/ FONCTION : FICHE de la News (News seule)
    // ---------------------------------------------------
    function news_affiche_fiche( $newsId )
    {
    	if( is_numeric($newsId) && $newsId>0 )
    	{
    		// -------------------------
    		global $pdo; // connexion PDO
    		// -------------------------
    		// On recupere les infos dans la BD
    		require(__DIR__ . '/news_data_fromBD.php');
    		// -------------------------
    ?>
    		<article class="newsArticle">
    			<header>
    				<h4><?php echo $newsTitre; ?></h4>
    				<span class="newsDate"> le <?php echo date('d/m/Y à H\hi', $newsDate); ?></span>
    			</header>
     
    			<div class="newsContenu">
    <?php		if(  !empty($newsPhoto) ) { ?>
    				<img class="newsPhoto" src="<?php echo ROOT_NEWS.NEWS_REP_PHOTOS.$newsPhoto; ?>" alt="" style="width:<?php echo $newsPhotoLargeur.'%'; ?>;" />
    <?php		} ?>
     
    				<?php echo $newsContenu; ?>
     
    <?php		if( !empty($newsFile) ) { ?>
    				<a class="newsFile" href="<?php echo ROOT_NEWS.NEWS_REP_FILES.$newsFile; ?>" onclick="javascript:window.open(this.href); return false;">
    				<span>Voir le Fichier joint</span></a>
    <?php		} ?>
    			</div>
    		</article>
    <?php
    	} else {
    		echo 'Mauvais identifiant de News';
    	}
    };
     function news_affiche_premiere_news($newsId)
    {
    	if(is_numeric($newsId) && $newsId>0)
    	{
    		// -------------------------
    		global $pdo;
    		// -------------------------
    		// On recupere les infos dans la BD
    		require(__DIR__ . '/news_data_fromBD.php');
    		// -------------------------
    		// Premiere News !
    ?>
     
    <div class="col-md-6 col-sm-6 rounded mb-5" style="overflow:hidden;"><?php		if( $newsPhoto != '') { ?>
    				<a href="<?php echo $url_extlink; ?>">
    				<img class="rounded" src="<?php echo ROOT_NEWS.NEWS_REP_PHOTOS.$newsPhoto; ?>" style="max-height:230px;" alt="" title="<?php echo $newsTitre; ?>" />
    				</a>
    <?php		} ?></div>
                    <div class="col-md-6 col-sm-6 mb-5"><p><img src="archive_presse/img_presse/<?php echo $newsAuteur; ?>.jpg" /></p>
                    <h5><?php echo $newsTitre; ?></h5><span class="float-left mt-3"><?php
    if( !empty($url_extlink) )
    {
        echo '<p class="text-center"><a href="' . $url_extlink . '" style="color:#ffffff;" target="_blank"><button type="submit" class="btn btn-primary btn-sm">Poursuivre la lecture</button></a></p>';
    }
    else
    {
        echo '<p class="text-center"><a href="' . NEWS_PATH_FICHE . '?newsId=' . $newsId . '" style="color:#ffffff;"><button type="submit" class="btn btn-primary btn-sm">Poursuivre la lecture </button></a></p>';
    }
    ?></span>
    			<span class="float-right mt-3"> &nbsp;le <?php echo $newsDate2; ?></span>
     
     
    <?php		if( $newsFile != '') { ?>
    				<a class="newsFile" href="<?php echo ROOT_NEWS.NEWS_REP_FILES.$newsFile; ?>" onclick="javascript:window.open(this.href); return false;">
    				<p>Voir le Fichier joint</p></a>
    <?php		} ?>
     
    		</div>
    <?php
    	} else {
    		echo 'Mauvais identifiant de News';
    	}
    };
    // ---------------------------------------------------
    // 1b/ FONCTION : FICHE de la News (LISTE sur plusieurs colonnes)
    // Avec picto, résumé du contenu et lien vers la fiche de l'Article
    // ---------------------------------------------------
    function news_affiche_fiche_resume_colonne( $newsId )
    {
    	if( is_numeric($newsId) && $newsId>0 )
    	{
    		// -------------------------
    		global $pdo; // connexion PDO
    		// -------------------------
    		// On recupere les infos dans la BD
    		require(__DIR__ . '/news_data_fromBD.php');
    		// -------------------------
    		// Nombre de colonnes : 1 à 6 (voir le style CSS : .newsColonne)
     
    ?>
     
     
    				<div class="col-md-3 col-sm-6 rounded mb-5" style="overflow:hidden;"><?php		if( $newsPhoto != '') { ?>
    				<a href="<?php echo $url_extlink; ?>">
    				<img class="rounded" src="<?php echo ROOT_NEWS.NEWS_REP_PHOTOS.$newsPhoto; ?>" style="max-height:230px;" alt="" title="<?php echo $newsTitre; ?>" />
    				</a>
    <?php		} ?></div>
                    <div class="col-md-3 col-sm-6 mb-5"><p><img src="archive_presse/img_presse/<?php echo $newsAuteur; ?>.jpg" /></p>
                    <h5><?php echo $newsTitre; ?></h5><span class="float-left mt-3"><?php
    if( !empty($url_extlink) )
    {
        echo '<p class="text-center"><a href="' . $url_extlink . '" style="color:#ffffff;" target="_blank"><button type="submit" class="btn btn-primary btn-sm">Poursuivre la lecture</button></a></p>';
    }
    else
    {
        echo '<p class="text-center"><a href="' . NEWS_PATH_FICHE . '?newsId=' . $newsId . '" style="color:#ffffff;"><button type="submit" class="btn btn-primary btn-sm">Poursuivre la lecture </button></a></p>';
    }
    ?></span>
    			<span class="float-right mt-3"> &nbsp;le <?php echo $newsDate2; ?><?php echo date('d M Y', $newsDate); ?></span>
     
     
    <?php		if( $newsFile != '') { ?>
    				<a class="newsFile" href="<?php echo ROOT_NEWS.NEWS_REP_FILES.$newsFile; ?>" onclick="javascript:window.open(this.href); return false;">
    				<p>Voir le Fichier joint</p></a>
    <?php		} ?>
     
    		</div>
    <?php
    	} else {
    		echo 'Mauvais identifiant de News';
    	}
    };
     
    // ---------------------------------------------------
    // 2/ FONCTION : LISTING des NEWS (avec résumé du contenu)
    // ---------------------------------------------------
    function news_affiche_liste_colonne( $numPage )
    {
    	if( is_numeric($numPage) && $numPage>0)
    	{
    		// -------------------------
    		global $pdo; // connexion PDO
    		// -------------------------
    		// requete : toutes les News (CONFIG : Nombre Maxi à afficher -> NEWS_NBRE_MAXITOTAL)
    		$news_total_query 		= "SELECT * FROM ".T_NEWS_ARTICLES." ".
    								" WHERE news_publier = 1 ".		// uniquement les news publiées
    								" ORDER BY news_date DESC ".
    								" LIMIT 0, :newsNbreMaxiTotal ".
    								";";
    	  try {
    		$pdo_select 			= $pdo->prepare($news_total_query);
    		$pdo_select->bindValue(':newsNbreMaxiTotal', 	NEWS_NBRE_MAXITOTAL,		PDO::PARAM_INT);
    		$pdo_select->execute();
    		$news_total_nombre 		= $pdo_select->rowCount();
    	  } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    		// -------------------------
    		// PAGINATION
    		// On calcule le nombre de pages
    		$nbreTotalPages 		= ceil($news_total_nombre / NEWS_NBRE_PARPAGE);
    		// On calcule le numero du premier message qu'on prend pour le LIMIT de MySQL
    		$numDebut 				= ($numPage - 1) * NEWS_NBRE_PARPAGE;
    		// -------------------------
    		// News à afficher sur la page
    		$news_query 			= "SELECT * FROM ".T_NEWS_ARTICLES." ".
    								" WHERE news_publier = 1 ".		// uniquement les news publiées
    								" ORDER BY news_date DESC ".
    								" LIMIT :numDebut,:newsNbreParPage ".
    								";";
    	  try {
    		$pdo_select 			= $pdo->prepare($news_query);
    		$pdo_select->bindValue(':numDebut', 		$numDebut,			PDO::PARAM_INT);
    		$pdo_select->bindValue(':newsNbreParPage', 	NEWS_NBRE_PARPAGE,	PDO::PARAM_INT);
    		$pdo_select->execute();
    		$news_nombre 			= $pdo_select->rowCount();
    		$news_rowAll			= $pdo_select->fetchAll();
    	  } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
     
    		$lastNews_query = "SELECT * FROM ".T_NEWS_ARTICLES." ".
    		" WHERE news_publier = 1 ".		// uniquement les news publiées
    		" ORDER BY news_date DESC ".
    		" LIMIT 0,2;";
     
    		try {
    		$pdo_select 			= $pdo->prepare($lastNews_query);
    		$pdo_select->bindValue(':numDebut', 		$numDebut,			PDO::PARAM_INT);
    		$pdo_select->bindValue(':newsNbreParPage', 	NEWS_NBRE_PARPAGE,	PDO::PARAM_INT);
    		$pdo_select->execute();
    		$news_nombre 			= $pdo_select->rowCount();
    		$news_rowAll			= $pdo_select->fetchAll();
    	  } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    		// -------------------------
    		// Affichage de la PAGINATION
    		//news_pagination_pages($numPage, $nbreTotalPages); 
    ?>
    		<div class="container mt-5"><div class="row align-items-center"> 
    <?php	// -------------------------
    		// Affichage des News
    		$compteur_news = 0; // initialisation du compteur
    		// Affichage des News
    		if($news_nombre>1) {
    			foreach ($news_rowAll as $news_row)
     
    			{
    				$compteur_news++; // on incrémente le compteur
    				// -------------------------
    				$newsId 			= intval($news_row['news_id']);
    				// On recupere les infos dans la BD
    				require(__DIR__ . '/news_data_fromBD.php');
    				// -------------------------
    				// Affichage de la news
    				if($compteur_news==1){ // PREMIERE NEWS
    					news_affiche_premiere_news($newsId); // FONCTION A CREER !!
    				} else { // SUIVANTES
    					news_affiche_fiche_resume_colonne($newsId);
    				}
    			}
    		}
    ?>
    </div></div>	
    <?php
    		// -------------------------
    		// Affichage de la PAGINATION
    		news_pagination_pages($numPage, $nbreTotalPages);
    	}
    };
     
    // --------------------------------------------------------------
    // FONCTION : PAGINATION (listing des News)
    // --------------------------------------------------------------
    function news_pagination_pages( $numPage, $nbreTotalPages )
    {
    	// -------------
    	$numLimit		= 5; 	// Limite : nombre de pages avant/après la page courante
    	$sep			= '';	// Séparateur '', '-', '|', '/' : entre les numéros de pages
    	// -------------
    	// au cas où l URL comporte déjà des arguments (?...&...)
    	$args 			= preg_replace('#(pg=[0-9]+&?)#', '', $_SERVER['QUERY_STRING']);
    	$args 			= (!empty($args))?	'&'.$args : '';
    	// -------------
    	// PAGINATION
    	if( $nbreTotalPages > 1) 
    	{
    ?>
    		<div class="container">
    <?php	echo $sep;
    	  for ($i=1; $i<=$nbreTotalPages; $i++)
    	  {
    		// 1ère page
    		if( $i==1 && $numPage>($numLimit+1)) 
    		{
    			echo ' <a href="?pg='.$i.$args.'" title="Page '.$i.'">'.$i.'</a> '.$sep.'...'.$sep;
    		}
    		// page courante + $numLimit pages avant et après
    		if( ($numPage-1-$numLimit)<$i && $i<($numPage+1+$numLimit))
    		{
    		  if( $i==$numPage) { // page courante
    			echo ' <b>Page '.$i.'</b> '.$sep;
    		  } else {
    			echo ' <a href="?pg='.$i.$args.'" title="Page '.$i.'">'.$i.'</a> '.$sep;
    		  }
    		}
    		// dernière page
    		if( $i==$nbreTotalPages && $numPage<($nbreTotalPages-$numLimit)) 
    		{ 
    			echo '...'.$sep.' <a href="?pg='.$i.$args.'" title="Page '.$i.'">'.$i.'</a>';
    		}
    	  }
    ?>
    		</div>
    <?php	} 	// (fin if nbreTotalPages)
    };
     
    // --------------------------------------------------------------



    Et le code de «*new_config.php*»*:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <?php
    // ---------------------------------------------------------------
    // MODULE des NEWS : PARAMETRES de CONFIGURATION
    // ---------------------------------------------------------------
    // © Jérome Réaux : http://j-reaux.developpez.com - https://www.jerome-reaux-creations.fr
    // Création 	: juin 2009 par Jérôme Réaux 		(http://j-reaux.developpez.com)
    // Mise à jour 	: novembre 2015 par Jérôme Réaux 	(http://j-reaux.developpez.com)
     
    // ---------------------------------------------------------------
    // CHEMINS vers les DOSSIERS
    // ---------------------------------------------------------------
    // ==> voir le fichier de configuration générale : config/main_config.php
     
    // ---------------------------------------------------------------
    // Base de Données : table des NEWS
    // ---------------------------------------------------------------
    // ==> table des NEWS en Base de Données :
    if( !defined('T_NEWS_ARTICLES')) 		define('T_NEWS_ARTICLES', 			'NEWS_TAB_ARTICLES'); // indiquez le nom de votre table NEWS en base de données
    // ==> Création et Structure de la table : modules/mod_news/news_tableSQL.txt
    // (la gestion de langues n'est pas prévue dans cette source)
     
    // -------------------------
    // ==> table de CONNEXION à l'ADMIN :
    if( !defined('T_NEWS_ADM_CONNEXION')) 	define('T_NEWS_ADM_CONNEXION', 	'NEWS_ADM_CONNEXION');
    // IMPORTANT : CHANGEMENT DES IDENTIFIANT et MOT DE PASSE :
    // ==> Par sécurité, la modification devra se faire MANUELLEMENT directement dans la base de données
    // ==> Générer un mot de passe hashé : admin/adm-createpwd.php
     
    // ---------------------------------------------------------------
    // CONFIGURATION de l'AFFICHAGE DES NEWS
    // ---------------------------------------------------------------
    // LISTING DES NEWS :
    // ==> Taille maxi du RESUME (en nombre de caractères)
    if( !defined('NEWS_RESUME_NBRECAR')) 	define('NEWS_RESUME_NBRECAR', 	120);
     
    // ==> Résumé du Contenu (brut ou html)
    //if( !defined('NEWS_RESUME_TYPE')) 		define('NEWS_RESUME_TYPE', 		'brut');	// Résumé : texte brut, sans balises html
    if( !defined('NEWS_RESUME_TYPE')) 		define('NEWS_RESUME_TYPE', 		'html');	// Résumé : format html, conserve les balises html
     
    // ==> Taille des PHOTOS et PICTOS (en pixels)
    if( !defined('NEWS_LARGEUR_PHOTO')) 		define('NEWS_LARGEUR_PHOTO', 	720);		// Largeur d enregistrement de la photo
    if( !defined('NEWS_LARGEUR_PICTO')) 		define('NEWS_LARGEUR_PICTO', 	100);		// Largeur d affichage du picto
     
    // -------------------------
    // PAGINATION :
    // ==> Nombre de Colonnes (1 à 6)	-> style CSS (.newsColonne) : mod_news/css/news_style.css
    if( !defined('NEWS_NBRE_COLONNE')) 		define('NEWS_NBRE_COLONNE', 	1);
     
    // ==> Nombre de News à afficher par page
    if( !defined('NEWS_NBRE_PARPAGE')) 		define('NEWS_NBRE_PARPAGE', 	2);	// (à définir en fonction du nombre de colonnes : 3 x 4 colonnes, par exemple)
     
    	// ==> Nombre Maxi à afficher : on ne veut prendre en compte que les xxx plus récentes (ex : les 30 dernieres)
    if( !defined('NEWS_NBRE_MAXITOTAL')) 	define('NEWS_NBRE_MAXITOTAL', 	30);
     
    // ---------------------------------------------------------------
    // PARAMETRES POUR LES PHOTOS / FICHIERS
    // ---------------------------------------------------------------
    // ==> Choix du dossier de stockage (ces dossiers doivent être déprotégés en ecriture : chmod 777)
    if( !defined('NEWS_REP_PHOTOS')) 		define('NEWS_REP_PHOTOS', 		NEWS_UPLOAD.'images/news_photos/');		// PHOTOS
    if( !defined('NEWS_REP_FILES')) 			define('NEWS_REP_FILES', 		NEWS_UPLOAD.'files/news_files/');		// FICHIERS
    // -------------------------
    // UPLOAD : Restrictions sur les fichiers
    // taille maxi des fichiers
    if( !defined('NEWS_SIZEMAX_PHOTO')) 		define('NEWS_SIZEMAX_PHOTO', 	10000000);	// 10 Mo
    if( !defined('NEWS_SIZEMAX_FILE')) 		define('NEWS_SIZEMAX_FILE',		10000000);	// 10 Mo
     
    // EXTENSIONS acceptées
    if( !defined('NEWS_EXTENSION_PHOTO')) 	define('NEWS_EXTENSION_PHOTO',	'jpg,jpeg,png,gif');
    if( !defined('NEWS_EXTENSION_FILE')) 	define('NEWS_EXTENSION_FILE',	'pdf');
     
    // MIME TYPES acceptés
    if( !defined('NEWS_MIMETYPE_PHOTO')) 	define('NEWS_MIMETYPE_PHOTO',	'image/jpeg,image/png,image/gif');
    if( !defined('NEWS_MIMETYPE_FILE')) 		define('NEWS_MIMETYPE_FILE',	'application/pdf');
     
    // ---------------------------------------------------------------
    // PARAMETRES POUR L EDITEUR WYSIWYG
    // ---------------------------------------------------------------
    // ==> Choix de l editeur
    	if( !defined('NEWS_EDITEUR_WYSIWYG')) 	define('NEWS_EDITEUR_WYSIWYG', 		'CKeditor');		// CKeditor
    //	if( !defined('NEWS_EDITEUR_WYSIWYG')) 	define('NEWS_EDITEUR_WYSIWYG', 		'TinyMCE');			// TinyMCE
    //	if( !defined('NEWS_EDITEUR_WYSIWYG')) 	define('NEWS_EDITEUR_WYSIWYG', 		''); 				// rien (pour du texte brut)
     
    // -------------------------
    // SPECIAL CKeditor: 					-> http://ckeditor.com
    // -------------------------
    // -> Toolbar personnalisable dans : 	utilitaires/CKeditor/config.js
    // -> http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Toolbar
    	if( !defined('NEWS_CKeditor_TOOLBAR')) 	define('NEWS_CKeditor_TOOLBAR', 		'ToolbarArticle');	// Toolbar PERSONALISEE : Contenu Article
    //	if( !defined('NEWS_CKeditor_TOOLBAR')) 	define('NEWS_CKeditor_TOOLBAR', 		'Full');			// Full
    //	if( !defined('NEWS_CKeditor_TOOLBAR')) 	define('NEWS_CKeditor_TOOLBAR', 		'Basic');			// Basic
    // Remarque :
    // Contrairement à FCKeditor, l'Exploreur de Fichier n'est pas intégré et il est... PAYANT (CKFinder -> http://ckfinder.com)
    // UNE ALTERNATIVE : KCfinder 			-> http://kcfinder.sunhater.com
    // (GRATUIT, open-source) ! (contenu dans cette source !)
     
    // -------------------------
    // SPECIAL TinyMCE (3.5.5) : 			-> http://www.tinymce.com
    //										-> http://www.tinymce.com/wiki.php/Installation
    // 										-> http://www.tinymce.com/wiki.php/Configuration
    // -------------------------
    // -> Toolbar personnalisable dans : 	utilitaires/TinyMCE/jscripts/tiny_mce/config_perso.js
    // Remarque :
    // PROBLEME d'affichage UTF-8 dans l'éditeur : je n'ai pas trouvé (ni trop cherché !) la solution...
    // ---------------------------------------------------------------
    Merci, belle fin de journée à tous.
    Vincent

  4. #524
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    si on se réfère au site démo, tout fonctionne.

    1- Donc, montre-nous une page en ligne, qu'on puisse constater.

    2- Dis-nous quels MODIFICATIONS tu as faites dans les fichiers/fonctions.

  5. #525
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut
    Bonjour et merci de ta réponse.

    Actuellement je suis en local.
    Dans le dossier fonction aucun fichier de changé.

    Voici le code que j'ai changer dans le fichier news_fonctions.php dans modules/mod_news :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    <?php
    // ---------------------------------------------------
    // 2/ FONCTION : LISTING des NEWS (avec résumé du contenu)
    // ---------------------------------------------------
    function news_affiche_liste_colonne( $numPage )
    {
    	if( is_numeric($numPage) && $numPage>0)
    	{
    		// -------------------------
    		global $pdo; // connexion PDO
    		// -------------------------
    		// requete : toutes les News (CONFIG : Nombre Maxi à afficher -> NEWS_NBRE_MAXITOTAL)
    		$news_total_query 		= "SELECT * FROM ".T_NEWS_ARTICLES." ".
    								" WHERE news_publier = 1 ".		// uniquement les news publiées
    								" ORDER BY news_date DESC ".
    								" LIMIT 0, :newsNbreMaxiTotal ".
    								";";
    	  try {
    		$pdo_select 			= $pdo->prepare($news_total_query);
    		$pdo_select->bindValue(':newsNbreMaxiTotal', 	NEWS_NBRE_MAXITOTAL,		PDO::PARAM_INT);
    		$pdo_select->execute();
    		$news_total_nombre 		= $pdo_select->rowCount();
    	  } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    		// -------------------------
    		// PAGINATION
    		// On calcule le nombre de pages
    		$nbreTotalPages 		= ceil($news_total_nombre / NEWS_NBRE_PARPAGE);
    		// On calcule le numero du premier message qu'on prend pour le LIMIT de MySQL
    		$numDebut 				= ($numPage - 1) * NEWS_NBRE_PARPAGE;
    		// -------------------------
    		// News à afficher sur la page
    		$news_query 			= "SELECT * FROM ".T_NEWS_ARTICLES." ".
    								" WHERE news_publier = 1 ".		// uniquement les news publiées
    								" ORDER BY news_date DESC ".
    								" LIMIT :numDebut,:newsNbreParPage ".
    								";";
    	  try {
    		$pdo_select 			= $pdo->prepare($news_query);
    		$pdo_select->bindValue(':numDebut', 		$numDebut,			PDO::PARAM_INT);
    		$pdo_select->bindValue(':newsNbreParPage', 	NEWS_NBRE_PARPAGE,	PDO::PARAM_INT);
    		$pdo_select->execute();
    		$news_nombre 			= $pdo_select->rowCount();
    		$news_rowAll			= $pdo_select->fetchAll();
    	  } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
     
    		$lastNews_query = "SELECT * FROM ".T_NEWS_ARTICLES." ".
    		" WHERE news_publier = 1 ".		// uniquement les news publiées
    		" ORDER BY news_date DESC ".
    		" LIMIT 0,2;";
     
    		try {
    		$pdo_select 			= $pdo->prepare($lastNews_query);
    		$pdo_select->bindValue(':numDebut', 		$numDebut,			PDO::PARAM_INT);
    		$pdo_select->bindValue(':newsNbreParPage', 	NEWS_NBRE_PARPAGE,	PDO::PARAM_INT);
    		$pdo_select->execute();
    		$news_nombre 			= $pdo_select->rowCount();
    		$news_rowAll			= $pdo_select->fetchAll();
    	  } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    		// -------------------------
    		// Affichage de la PAGINATION
    		//news_pagination_pages($numPage, $nbreTotalPages); 
    ?>
    		<div class="container mt-5"><div class="row align-items-center"> 
    <?php	// -------------------------
    		// Affichage des News
    		$compteur_news = 0; // initialisation du compteur
    		// Affichage des News
    		if($news_nombre>1) {
    			foreach ($news_rowAll as $news_row)
     
    			{
    				$compteur_news++; // on incrémente le compteur
    				// -------------------------
    				$newsId 			= intval($news_row['news_id']);
    				// On recupere les infos dans la BD
    				require(__DIR__ . '/news_data_fromBD.php');
    				// -------------------------
    				// Affichage de la news
    				if($compteur_news==1){ // PREMIERE NEWS
    					news_affiche_premiere_news($newsId); // FONCTION A CREER !!
    				} else { // SUIVANTES
    					news_affiche_fiche_resume_colonne($newsId);
    				}
    			}
    		}
    ?>
    </div></div>	
    <?php
    		// -------------------------
    		// Affichage de la PAGINATION
    		news_pagination_pages($numPage, $nbreTotalPages);
    	}
    };
     
    // --------------------------------------------------------------
    // FONCTION : PAGINATION (listing des News)
    // --------------------------------------------------------------
    function news_pagination_pages( $numPage, $nbreTotalPages )
    {
    	// -------------
    	$numLimit		= 5; 	// Limite : nombre de pages avant/après la page courante
    	$sep			= '';	// Séparateur '', '-', '|', '/' : entre les numéros de pages
    	// -------------
    	// au cas où l URL comporte déjà des arguments (?...&...)
    	$args 			= preg_replace('#(pg=[0-9]+&?)#', '', $_SERVER['QUERY_STRING']);
    	$args 			= (!empty($args))?	'&'.$args : '';
    	// -------------
    	// PAGINATION
    	if( $nbreTotalPages > 1) 
    	{
    ?>
    		<div class="container">
    <?php	echo $sep;
    	  for ($i=1; $i<=$nbreTotalPages; $i++)
    	  {
    		// 1ère page
    		if( $i==1 && $numPage>($numLimit+1)) 
    		{
    			echo ' <a href="?pg='.$i.$args.'" title="Page '.$i.'">'.$i.'</a> '.$sep.'...'.$sep;
    		}
    		// page courante + $numLimit pages avant et après
    		if( ($numPage-1-$numLimit)<$i && $i<($numPage+1+$numLimit))
    		{
    		  if( $i==$numPage) { // page courante
    			echo ' <b>Page '.$i.'</b> '.$sep;
    		  } else {
    			echo ' <a href="?pg='.$i.$args.'" title="Page '.$i.'">'.$i.'</a> '.$sep;
    		  }
    		}
    		// dernière page
    		if( $i==$nbreTotalPages && $numPage<($nbreTotalPages-$numLimit)) 
    		{ 
    			echo '...'.$sep.' <a href="?pg='.$i.$args.'" title="Page '.$i.'">'.$i.'</a>';
    		}
    	  }
    ?>
    		</div>
    <?php	} 	// (fin if nbreTotalPages)
    };

    Cela permet de configurer la news la plus récente indépendamment des autres, ça fonctionne bien de ce coté là, sauf pour les pages suivantes...

  6. #526
    Invité
    Invité(e)
    Par défaut
    1- LOL...
    Et ça t'étonne ?
    Tu as court-circuité la pagination !

    Supprime ce que tu as fait (la requête).


    2- Si le but est simplement de styler différemment LA PREMIERE news :
    • LA PREMIERE news est sur la page... 1 ! Donc, quand $numPage == 1.
    • (on garde aussi ton compteur)


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    		<div id="newsArticleListing">
    <?php	// -------------------------
    		$compteur_news = 0; // initialisation du compteur
    		// Affichage des News
    		if( $news_nombre>0) {
    			foreach ($news_rowAll as $news_row)
    			{
    				$compteur_news++; // incrémentation du compteur
    				// -------------------------
    				$newsId 			= intval($news_row['news_id']);
    				// On recupere les infos dans la BD
    				require(__DIR__ . '/news_data_fromBD.php');
    				// -------------------------
    				// Affichage de la news
    				if( $numPage == 1 && $compteur_news == 1 ) // LA PREMIERE news
    				{
    					news_affiche_fiche_premiere_news($newsId);
    				} else {
    					news_affiche_fiche_resume_colonne($newsId);
    				}
    				// -------------------------
    			}
    		}
    ?>
    		</div>
    N.B. Si tu veux en styler plusieurs (LES DEUX PREMIERES, par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    				if( $numPage == 1 && $compteur_news < 3 ) // LES DEUX PREMIERES news

  7. #527
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut
    Impeccable Jérôme, ça fonctionne, merci*!
    Belle journée.

  8. #528
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut Ordre des News
    Bonjour,

    Est-ce possible d’inverser l’ordre des news*?

    Dans le même ordre d’idée, serait-il compliquer de pouvoir, dans la partie liste de l’administration
    (/admin/adm_mod_news/news_liste.php), de pouvoir changer l’ordre des news avec un drop ou de changer le numéro d’id, par un autre*?

    Belle journée à toutes et tous.
    Vincent

  9. #529
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    je ne comprends pas la(les) question(s) (pas assez précis).

    • ...ordre des news ? ("ORDER BY ... ASC" -> "ORDER BY ... DESC" ?)
    • ... avec un drop ?
    • ...changer le numéro d’id ?


  10. #530
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut
    Sry,

    J’aimerais pouvoir choisir l’ordre d’apparition des news (fiche en l’occurrence).
    J’ai une liste de fiche +- 50 dont de temps à autre je dois intervertir par exemple la 19 à la place de la 5, il faut donc modifier ces deux fiches.
    Plutôt que de les modifier je me demandais si il était possible de pouvoir déplacer, intervertir les fiches, par exemple dans la page d’administration (news_liste.php), avec une fonction du genre drag & drop ou autre.

    Sinon est-il possible d’inverser totalement l’ordre des fiches la première serrait la dernière et inversement ?

    Je regarde déjà à ce que tu m’indique ;-).
    Merci !

    Ok pour l'ordre ASC à changer c'était tout con...

  11. #531
    Invité
    Invité(e)
    Par défaut
    OK,

    Rien ne t'empêche de faire tes propres améliorations/modifications des codes : drag & drop,...

    Mais ce n'est pas prévu dans le module de News actuel (ou à venir).
    Dernière modification par rawsrc ; 25/03/2019 à 13h48. Motif: drap → drag

  12. #532
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut
    Sry pour la réponse tardive.

    Pour l'instant je ne saurais faire cela, manque de compétences.
    Mais qui sait plus tard ;-)
    Merci à toi
    A très bientôt
    Vincent

  13. #533
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut Petit problème affichage photo ?
    Bonjour Jérôme,

    Il y à un tout petit souci concernant l'affichage photo (du contenu pas de l'upload) dans la liste mais pas dans la fiche, j'ai cherché pour aider, je n'y arrive pas.

    Quand tu mets juste une photo dans la partie contenu sans commentaire, la photo n'apparait pas dans la page liste mais apparait bien dans la fiche. (voir test fait sur ta démo)

    Sry pour ne pouvoir mieux aider que de le signaler, belle journée.
    Vincent

  14. #534
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    • Une image* du contenu fait partie intégrante du code HTML du "contenu".
    • Contrairement à l'"image d'illustration".


    Dans l'affichage en liste, il s'agit d'un résumé de l'article.

    Dans l'exemple dont tu parles, il n'y a QUE cette balise <img .../> dans le "contenu".
    A priori, la fonction de résumé est pas prévue pour afficher au minimum 1 caractère de texte *.
    En effet, si on ne veut mettre qu'UNE seule image, autant la mettre dans l'"image d'illustration" !

    * Si tu ajoutes un peu de texte, l'image s'affichera (en fonction du nombre de caractères à afficher dans le résumé, défini dans la configuration des news).

    [EDIT] Il faut aussi modifier un peu le code CSS, pour indiquer aux images du contenu :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    img { max-width:100%; }
    pour éviter les débordement.
    Dernière modification par Invité ; 12/04/2019 à 09h50.

  15. #535
    Membre régulier
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2017
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Avril 2017
    Messages : 87
    Points : 71
    Points
    71
    Par défaut
    Merci pour les infos Jérôme

+ Répondre à la discussion
Cette discussion est résolue.
Page 27 sur 27 PremièrePremière ... 172324252627

Discussions similaires

  1. [Galerie] News, (Système de Gestion-Affichage de Nouvelles+ commentaire )
    Par onec2008 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 23/11/2010, 18h26
  2. Créer un système de gestion de fenêtres avec silverlight 2
    Par The_badger_man dans le forum Silverlight
    Réponses: 0
    Dernier message: 13/12/2008, 14h50
  3. Hébergement avec système de gestion de version (SVN)
    Par SebSplo dans le forum Hébergement
    Réponses: 3
    Dernier message: 12/10/2008, 12h43
  4. [MySQL] Système de gestion avec calendrier et base de données
    Par almisuifre dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 14/12/2006, 23h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo