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

PHP & Base de données Discussion :

problème php, mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Par défaut problème php, mysql
    bonjour tout le monde

    j'ai un petit problème, je travail sur un site associatif de journalisme qui est gérer par une interface d'administration a cause du nombre important d'article.

    l'interface d'administration de mon site fonctione presque, il me manque la fonctionalité la plus importante, je m'explique :

    -le site est en 2 partie la partie administration et la partie vitrine

    -la partie vitrine:
    c'est là que les visiteurs vont aller pour voir le site, lire les articles, ...

    -la partie administration :
    c'est là que les redacteur ou administrateur posteront les articles (sauvegarder dans une base de données mysql), ils y sont corriger, (traduit), puis enfin, envoyée dans une page du site. et c'est la que sa se complique

    je vous ai mis cette image pour mieux comprendre, l'image c'est se que verront les visiteur du site quand ils iront sur une page news, article, ...



    se que je veut faire :

    -la fonction que je desire réaliser (sinon l'interface administrateur ne sert strictement à rien) c'est une sorte de menu qui m'affiche tous les articles d'une section sous forme de lien (sa c'est bon je sais faire), lorsque je clique sur un lien sa me met l'id de larticle dans l'url pour me faire une requete sql (select * from $table ...) (sa aussi c'est bon)

    le problème !!!

    une fois que j'ai le resultat de ma requete, COMMENT FAIRE pour le mettre dans le tout premier cadre de ma page (cadre = casse titre+image+texte de l'image ci-dessus)

    de plus, le champs texte n'est qu'un extrait en nombre de caractére defini et si le texte et plus long (il sera presque toujours plus long) sa met des ... + le lien "lire la suite" qui mène a une page où il 'y aura cette fois ci que l'article en question et le texte en entier.

    voila pour le lien j'avoue je n'ai pas encore refléchie, je m'en debrouillerai plus tard, mais en ce qui concerne la fonction qui permet d'inserer un article depuis la base de données jusqu'au site web, la je seche complet, s'il vous plait aidez moi !!
    Images attachées Images attachées  

  2. #2
    Membre confirmé Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Salut. Bon je te préviens je suis débutant alors les erreurs sont possible, et je n'ai pas tester le code. Mais bon ca te donne des pistes:

    - Une fois que tu as le résultat de ta requête, tu dois faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    echo '<table>';
     
    $sql = "SELECT titre, urlimage, texte FROM table WHERE ...";
    $temp = mysql_query($sql);
     
    while($result = mysql_fetch_assoc($temp)) //Une boucle pour traiter chaque ligne
    {  echo '<tr><td colspan="2">'.$result['titre'].'</td></tr>';
        echo '<tr>
                  <td><img src="'.$result['urlimage'].'"/></td>
                  <td>'.$result['texte'].'</td>
                </tr>';
    }
    echo '</table>';

    Ensuite, pour la taille de texte limitée moi je ferais comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(strlen($result['texte']>80)) //strlen donne le nbr de caractère d'une chaine
    {     echo substr($result['texte'], 0, 80).' ...(lire la suite)';}
    else
    {     echo $result['texte'];}
    Voila pour les liens je te laisse te débrouiller. Sinon si tu veux des details sur les fonctions utilisées, Manuel PHP

    En espérant t'avoir aidé ++

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Par défaut
    j'avais pas pensé à utilisée substr et sublen pour la limitée la taille du texte, merci .

    pour l'affichage je veut pas faire un affichage direct, se qui me faut, c'est que lorsqu'un administrateur va cliquer sur un article qu'il veut mettre en ligne, l'article (ne s'affiche pas, mais) il est inscrit dans le premier cadre de la page adéquate (c'est vachement dur à expliquer), en gros se qu'il faudrait c'est qu'il y est dans la page qui rassemble les différents article, il faudrait une requete pour afficher l'article, mais comment faire pour savoir quelle article prendre puisque les article changent tous le temps, exemple :

    // le premier article est ercrit
    article 1 dans le premier cadre

    //le deuxième article est ecrit
    article 2 dans le premier cadre
    article 1 dans le deuxième cadre

    //...

    ne me dite pas qu'il faut a CHAQUE fois aller sur la page pour changer l'identifiant de l'article, les gens qui vont s'en servir ne connaissent rien en codage et moi je serait plus là pour les aider car je suis qu'en stage et je galère un MAX

  4. #4
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Bonjour
    Ne galérons pas

    Je crois que la solution PEUT etr simple, mais le probleme est pas bien expliqué a mon avis

    J'explique ce que j'en comprends

    Tes articles sont en ordre décroissant de parrution? car dans le post précédent tu écrivait s'il y a 1 article il est dans le cadre 1. Si le 2e article parrait il prends la place dans le cadre 1 et le premier dans le cadre 2.

    (petite parenthèse)
    tu en fait afficher comment d'articles dans ta page? car s'il y en a par exemple 10 ca va...50 ca devient chiant...un nombre indéterminé(100 par année pendant x années) devient lourd
    (fin de la parenthèse)

    Citation Envoyé par mémélia
    une fois que j'ai le resultat de ma requete, COMMENT FAIRE pour le mettre dans le tout premier cadre de ma page (cadre = casse titre+image+texte de l'image ci-dessus)
    donc tu veux que l'admin click un lien et que ce message devient le premier en haut de la liste(dans le premier cadre) afin que quoi? il puisse le modifier directement là? Aussi, est-ce que tu veux que les autre articles s'inscrive dans les autres cadres ex:
    il y a 5 articles
    Cadre1 -> article 5
    Cadre2 -> article 4
    Cadre3 -> article 3
    Cadre4 -> article 2
    Cadre5 -> article 1
    l'admin click sur le 3, tu veux qu'il apparaisse dans le premier cadre donc j'en déduit que tu veux comme suit
    Cadre1 -> article 3 ->En mode édit?
    Cadre2 -> article 5
    Cadre3 -> article 4
    Cadre4 -> article 3
    Cadre5 -> article 2
    Cadre6 -> article 1

    C'est ca??

    Moi je trouve que ca ferait beau en effet, mais des fois beau et facile a faire ne vont pas ensemble....
    pourquoi ne pas faire, quand il click sur l'article qu'il veut, tu l'envoie dans une page en "mode édition" tu enregistrer les changement et redirige vers ta page de cadres...
    Ta sorte de trie pourrrait etre par ordre de dernière modification comme ca, l'article ayant été le dernier a etre modifier parraitrait en haut de ta liste de cadre

    Remarque que je suis p-e carrément dans le champs avec ma compréhension de ton probleme et mes solution loufoque....

  5. #5
    Membre confirmé Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Salut !

    lorsqu'un administrateur va cliquer sur un article qu'il veut mettre en ligne, l'article (ne s'affiche pas, mais) il est inscrit dans le premier cadre de la page adéquate (c'est vachement dur à expliquer)
    Ouais c'est vachement dur a expliquer

    Bon en fait je comprend pas ce qu'il se passe quand l'admin clique sur un article. A paprement tu dis qu'il ne s'affiche pas directement, mais à quoi sert l'étape intérmediaire ?

    Sinon pour obtenir un affichage dans l'ordre, tu peux faire que lorsqu'une personne créé ou lorsqu'un admin valide, tu enregistres la date et l'heure de validation. Comme ca dans ta requete pour l'affichage, tu fais un tri (croissant ou décroissant) par ce champ date.

    Ensuite si tu veux faire la différence entre un article validé ou non, et bien tu peux soit controler qu'il y ai une date (dans le cas ou la date se place quand l'admin valide, et non pas la création), ou dans le cas ou la date se place pendant la création de l'article tu rajoutes un champ "statut" a ta table "articles" pour savoir par exemple si il est "A" = accepté, "R" = refusé.

    POur les dates c'est un champs "Datetime" qu'il te faut, et tu pourras faire un "SELECT * FROM articles ORDER BY datevalid" et tu les auras dans l'ordre.

    Logiquement tu ne dois JAMAIS toucher à l'identifiant d'un ensemble de données. Tu dois trouver une solution alternative. Sinon gare aux erreurs !


    Mais comme dit ozzmax, faudrais que tu nous corriges, car c'est pas super clair ce que tu veux faire !

    ++

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Par défaut
    je vais essayer d'être un peu plus clair, puisque les article son ecrit et modifier depuis l'interface administrateur, comment faire pour les mettre dans le site vitrine (celui qui est accessible à tous)

    bigltnt
    Logiquement tu ne dois JAMAIS toucher à l'identifiant d'un ensemble de données. Tu dois trouver une solution alternative. Sinon gare aux erreurs !
    je ne voulais pas modifier l'identifiant d'un article, mais changer l'identifiant dans la requete pour que sa aille chercher un autre article.


    ozzmax
    donc tu veux que l'admin click un lien et que ce message devient le premier en haut de la liste(dans le premier cadre) afin que quoi? il puisse le modifier directement là? Aussi, est-ce que tu veux que les autre articles s'inscrive dans les autres cadres ex:
    il y a 5 articles
    Cadre1 -> article 5
    Cadre2 -> article 4
    Cadre3 -> article 3
    Cadre4 -> article 2
    Cadre5 -> article 1
    l'admin click sur le 3, tu veux qu'il apparaisse dans le premier cadre donc j'en déduit que tu veux comme suit
    Cadre1 -> article 3 ->En mode édit?
    Cadre2 -> article 5
    Cadre3 -> article 4
    Cadre4 -> article 3
    Cadre5 -> article 2
    Cadre6 -> article 1

    C'est ca??
    oui c'est sa, mais qu'est-ce que tu appel mode edit? car la modification d'un article se déroule de la page modification de l'interface administrateur, et la on est sur une des pages du site vitrine. de plus les modification devront (de préférence) être réalisée avant la publication d'un article.


    bigltnt
    Ensuite si tu veux faire la différence entre un article validé ou non, et bien tu peux soit controler qu'il y ai une date (dans le cas ou la date se place quand l'admin valide, et non pas la création), ou dans le cas ou la date se place pendant la création de l'article tu rajoutes un champ "statut" a ta table "articles" pour savoir par exemple si il est "A" = accepté, "R" = refusé.
    sa c'est peut être une bonne idée, je m'explique, le fait de cliquer sur un article sur la partie admin du site met un "A" (pour acceptée) dans le champs d'un article.
    dans la partie vitrine, on a une requete qui affiche tout les article (a condition qu'il rentre dans la page, sinon une deuxième page est créer) qui ont le "A", dans l'odre du plus récent au plus ancien.

    je vais essayer sa et je revien vous dire si sa marche, merci de votre aide



    désolé, je suis pas douée pour expliquer, et c'est pas un sujet facile a expliquer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème PHP / MySQL
    Par GTAddict dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 26/04/2010, 13h59
  2. Problème PHP/Mysql script horaire d'un planning
    Par jessica76 dans le forum Langage
    Réponses: 3
    Dernier message: 01/04/2010, 19h30
  3. [MySQL] problème php mysql
    Par thiba dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/12/2009, 11h09
  4. [MySQL] Problème PHP/Mysql mon php n'exécute pas la requête
    Par matew dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/04/2007, 13h01
  5. problème php mysql
    Par ph_anrys dans le forum Requêtes
    Réponses: 15
    Dernier message: 02/03/2006, 15h22

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