8791 sujets

Développement web côté serveur, CMS

Bonjour,

Mon premier post concernait un formulaire de recherche avec un affichage des resultat que nous avons fini par réussir à mettre en place:

http://forum.alsacreations.com/topic.php?fid=20&tid=37770&s=formulaire

J'ai pour le moment une page d'accueil sur laquelle s'affiche les 5 articles les plus récents.

Si on clique sur un titre qui apparait il affiche le titre, le pseudo, la date et le contenu de l'article.

Maintenant j'aimerais appliquer le meme type d'affichage sur ma page index.php que celui de la recherche, c'est à dire que quand il affiche le contenu de l'article il affiche un lien "Téléchargez l'article correspondant" si un fichier à été envoyé avec l'article.

J'espère avoir été assez clair pour le moment.

Voilà le code de ma page d'index.php:

<?php
// On se connecte à  la BDD
mysql_connect("localhost", "root", "");
mysql_select_db("xxx");

// On fait la requête pour afficher la liste des news
$requete_news = mysql_query("SELECT * FROM upload_fichier ORDER BY up_id DESC LIMIT 0, 5");

//Puis on boucle le tout pour tout afficher
$i=1;
while($liste_news = mysql_fetch_array($requete_news)) 
{ 
    echo '<div id="News'.$i.'"><a href="index.php?voir_news='.$liste_news['up_id'].'">'.$liste_news['up_titre_article'].'<a></div>'; 
    $i++ ;
}
?>

        <div id="contenu">
    <?php
// Si jamais on veut voir une news, on vérifie que la variable est bien un entier puis on va chercher la news pour l'afficher !
   
    $id_news = htmlentities($_GET['voir_news'], ENT_QUOTES);
    $news = mysql_fetch_assoc(mysql_query("SELECT * FROM upload_fichier WHERE up_id = '".$id_news."'"));
	$date_news = date('d/m/Y à  H\hi', $news['up_filedate']);
	$file = 'Gestion/fichiers_upload/' . $news['up_filename'];

	echo $news['up_titre_article'].' - Par '.$news['inscr_pseudo'].' - Le '.$date_news.'<br/><br/>';
	echo $news['up_description'].' - Par <a href="'.$file.'">Téléchargez l\'article correspondant. <a><br/>';

// On ferme la connexion MYSQL
mysql_close();
    ?> 
		</div>


Et voici (POUR RAPPEL) le code qui à été mis au point hier sur mon premier post:

<?php
error_reporting(E_ALL);

// On fait la requête pour afficher la liste des news concernant la rubrique "concernée"
$article = $_GET['titre_article'];
$id = $_GET['up_id_recherche'];

$requete_contenu = sprintf("SELECT up_description, up_lien, up_filename FROM upload_fichier WHERE up_id = '%d'", $id);
//$requete_contenu = sprintf("SELECT up_description FROM upload_fichier WHERE up_id = '%d' AND up_titre_article = '%s'", $id, mysql_real_escape_string($article));
$result = mysql_query($requete_contenu) or die(mysql_error());  # debug;

//Puis on boucle le tout pour tout afficher
while($row = mysql_fetch_row($result)) {

//var_dump($row);  # debug

    echo '<div id="News">'.$row[0];

    if ( !empty($row[1]) ) {

        $file = '../Gestion/fichiers_upload/' . $row[2];

        if ( file_exists($file) ) {

            echo '<br/><a href="'.$file.'">Téléchargez l\'article correspondant. <a></div>';

        }
    }
}

// on ferme la base
mysql_close();
?>


J'ai fais plusieurs mix de ces deux codes mais je n'arrive pas à CACHER le lien pour télécharger le fichier si aucun fichier n'est associé à cet article ...

J'aimerais donc savoir si qqu'un pouvait me donner encore un petit coup de pouce ???

D'avance merci.
Aujourd'hui, avec Tonton Calak: La modularité.

Je vais y aller en douceur, à fur et à mesure que tu poseras des questions, puisque j'ai l'impression que tu n'as pas fini d'en poser (mais ça, c'est bien, c'est preuve que tu cherche à apprendre)

Donc, je ne vais pas commencer à ta parler de concepts de MVC sinon, je vais te perdre en route ^^

Mais d'abord, quelle version de php utilise-tu? php5 ?
Modifié par Calak (23 Oct 2008 - 11:50)
Euh ouais j'ai encore plein de choses à apprendre ???

Mais comment l'as-tu deviné ?? es-tu une sorte de Dieu ???

Sinon PHP Version 5.2.1
Donc, au menu du jour: Les classes, c'est mega classe!

Et pour cette première expérience, nous allons faire appelle à une petite nouvelle, la bien nommée News.

Commençons par la structure générale:

<?php
class News {

}


Woohoo, nous avons notre première classe, c'est pas la classe ça? Smiley lol

Pour créer un élément de type "News", il suffira alors de faire:
$une_news = new News;


Simple non?

On peut même ajouter une méthode qui sera appelée lors de la création de l'objet:
<?php
    class News {
        public __construct( ) {
            echo 'Je viens d'être créée!';
        }
    }
?>

------------------------

Pour être plus sérieux, si tu ne connais pas les classes et les objets en PHP5, je t'incite (En fait non, c'est un ordre, puisque d'après toi je suis une sorte de Dieu ^^) à aller voir:

- Introduction aux classes php4: page1, page2, page3 (C'est pour la version 4, mais ça reste valable pour la 5)

Fais le cours, ça t'aidera à assimiler les premiers principes objets.

Ensuite, va voir la documentation officielle des classes php5, pour approfondir tes connaissances.

Je pourrais t'aider et te ressortir ton code pile poil comme tu le voudrais, mais tu n'y apprendrais rien.
Mieux vaut que tu apprenne les bases. Et apprendre la POO, c'est une très bosse base qui développera en toi de meilleures pratiques de programmation.
Aucuns soucis je vais aller voir .....

Tranquillement mais surement c'est ce que je recherche ....

Merci pour les infos, j'y vais de suite ....