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

Langage PHP Discussion :

Administration de contenu


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut Administration de contenu
    Rebonjour à tous !

    Je vous explique maintenant ce que je désire réaliser ! J'ai une table pages dans ma base de données comportant les champs suivants(titre_fr,titre_en,txt_fr,txt_en,ordre).

    Ce que je veux réaliser c'est une page comportant un menu déroulant dans lequel se trouve les noms de mes catégories et en cliquant sur le nom de catégories, les titres de mes pages s'affichent . Ceci je l'ai plus ou moins déjà réalisé.

    Mon probleme maintenant est de pouvoir cliquer sur une de mes catégories du menu déroulant dans laquelle se trouve des pages ou pas peu importe et en cliquant pouvoir arriver sur une page d'administration spécifique à ma catégorie. Dans laquelle je pourrai modifier une page déjà existante dans la catégorie, ajouter une nouvelle page, changer le titre de ma page et modifier l'ordre d'apparition de ma page dans le menu déroulant !

    Voilà si vous avez déjà fait quelque chose dans ce genre là, si vous avez des conseils, des idées. Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour, tu aurais plus de chance qu'on te réponde en montrant ton code ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    Non désolé j'ai pas de code à montrer pour le moment, j'expliquais juste ce que je devais faire. Je vais essayer de commencer et si je rencontre des problèmes je vous tiens au courant. J'ai juste fait cette annonce pour savoir si des personnes avaient déjà fait ce genre de choses et donc si elles avaient des conseils à me donner. Voilà.Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bon, sur le principe :
    1- tu récupères la "catégorie" de ton <select> (appelons-la : name="CAT") :
    $CAT = $_POST['CAT'];
    2- ensuite, tu peux mettre ce "$CAT" dans une variable de session,
    $_SESSION['CAT'] = $CAT;
    3- ce qui te permet ensuite de la récupérer facilement pour le traitement de tes pages ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    Qu'est ce qu'une variable de session ? Je ne comprends pas vraiment ton explication. Je suis très novice en PHP

  6. #6
    Invité
    Invité(e)
    Par défaut
    Dans ce cas, je t'invite à lire ce tutoriel :
    PHP : Le tutoriel pour grands débutants pressés
    http://sylvie-vauthier.developpez.co...rand-debutant/

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    Merci mais j'ai déjà quelques bases, je pense pouvoir y arriver sans avoir à lire tout ça ( j'ai un manque de temps ) et avec votre aide.
    J'ai déjà une idée de comment faire mais je nsais pas si c'est la meilleure !

    Bon pour ce qui est de l'affichage du menu, c'est fait. J'ai bien mon menu déroulant comportant le nom de mes catégories puis quand je clique dessus, la liste des pages associées a ma catégories s'affichent.

    Maintenant ce que je veux faire c'est administrer mes pages donc par catégorie. Mais donc dans ce cas là il faudrait que j'ai autant de pages d'administration que de catégories à savoir dans mon cas 11.

    C'est à dire que je vais faire 11 liens sur mes 11 catégories vers 11 pages différentes dans laquelle je pourrais gérer mes pages.
    PS: Je ne peux pas faire le lien en cliquant sur ma catégorie dans le menu parce que en cliquant g déjà une action qui s'effectue, à savoir le déroulement de mes pages associées à la catégorie.

    Donc déjà ce que je veux faire dans un premier temps c'est en cliquant sur le noms de mes catégories, atterir sur une page dans lequel se trouve le contenu de ma table associée à la catégorie (txt_fr,txt_en,titre_fr,titre_en,ordre) et pouvoir les gérer !

    Est-ce la bonne méthode ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Relis le message d' "Aujourd'hui, 16h41" ...

    La session t'évite justement d'avoir 11 pages à faire !

    Ps : si tu ne veux pas donner ton code déjà fait, je ne peux rien de plus pour toi ...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    Bé pour linstant j'ai juste fait mon menu déroulant comportant le nom de mes catégories et de mes pages. Rien de plus vu que je ne sais pas par ou commencer !

  10. #10
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Citation Envoyé par guipe Voir le message
    Merci mais j'ai déjà quelques bases, je pense pouvoir y arriver sans avoir à lire tout ça ( j'ai un manque de temps ) et avec votre aide.
    Salut !

    Tu sais le temps d'avoir des réponses tu auras déjà fini de lire le tutoriel et sans doute déjà résolu ton problème...

    Bref, voici quelques pistes :
    De la même manière que ton menu déroulant redirige vers tes pages (ex : mapage.php) , tu peux le modifier pour que la redirection se fasse vers une page "administration" (exemple : admin.php). Cette page contiendra un formulaire pré-rempli avec les informations sur ta page. Pour se faire, tu pourras récupérer l'identifiant de ta page (ou de ta catégorie) via l'url et les méthodes GET/POST (voir tutoriel). Tu n'auras pas 11 pages, mais une seule, qui s'adaptera en fonction de l'identifiant :
    admin.php?id=1, admin.php?id=2, ... , admin.php?id=11

    Voilà, comme tu es débutant et préssé, je t'invite une fois de plus à lire ce tutoriel pour grands débutants pressés : http://sylvie-vauthier.developpez.co...rand-debutant/ !

    A++

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    D'accord merci. Le problème que je n'arrive pas à comprendre est comment pouvoir faire un lien sur le noms des catégories de mes menus sachant qu'en cliquant j'ai déjà une action qui s'éxécute, à savoir le déroulement des pages !

    Et donc si j'ai bien compris, il faut qu'en cliquant sur mes catégories, j'ai le numéro d'id qui s'affiche dans l'url et donc récupérer cet identifiant lorsque je suis sur ma page admin.php et afficher les pages en fonction de cet id !

  12. #12
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Citation Envoyé par guipe Voir le message
    Le problème que je n'arrive pas à comprendre est comment pouvoir faire un lien sur le noms des catégories de mes menus sachant qu'en cliquant j'ai déjà une action qui s'éxécute, à savoir le déroulement des pages !
    Il te faut:
    - soit créer un deuxième menu
    - soit créer un autre lien a côté de tes liens existants
    (tout dépend s'il s'agit d'une liste déroulante de type <select> ou de liens html)

    Citation Envoyé par guipe Voir le message
    Et donc si j'ai bien compris, il faut qu'en cliquant sur mes catégories, j'ai le numéro d'id qui s'affiche dans l'url et donc récupérer cet identifiant lorsque je suis sur ma page admin.php et afficher les pages en fonction de cet id !
    Exact. Grâce à ce numéro/identifiant, tu pourras rechercher ta page dans ta base de données, récupérer les informations (titre, texte, etc) et les afficher dans des éléments de formulaire.

    A++

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    Voici ce que j'ai fait !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
    while($cat = mysql_fetch_assoc($r_cat))
        {
     
    echo' <div align="right"><form method="post" action="adminpages2.php&amp;id='.$cat['id'].'">
    <select name="catégories">
    <option value="catégories">'.$cat['nom_fr'].'</option>
    </select></form>';
     
    	}
    Je souhaite créer une liste déroulante avec le noms de mes catégories dedans, le problème là est que ça affiche 11 fois(11 étant le nombre de mes catégories) une liste déroulante avec à l'intérieur 1 des 11 noms de ma catégorie. Et ce n'est pas ce que je veux. Je veux 1 seule liste déroulante avec mes 11 catégories qui défilent !

  14. #14
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 208
    Points : 395
    Points
    395
    Par défaut
    Bonjour,

    Essaie plutôt ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div align="right"><form method="post" action="adminpages2.php&amp;id='.$cat['id'].'">
    <select name="catégories">
    <?php
    $r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
    while($cat = mysql_fetch_assoc($r_cat))
    {
      echo'<option value="catégories">'.$cat['nom_fr'].'</option>';		
    }
    ?>
    </select></form>

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour Guipe,
    je vais te faire une proposition .... (attends que je la programme, ok ?)

    Arnaud13 fais une petite erreur...
    Ton formulaire de sélection de la catégorie (liste déroulante) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <div align="right">
    Sélectionnez une catégorie :<br />
    <form method="post" action="adminpages2.php">
    	<select name="catégories">
    	<?php
    	$r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
    	while($cat = mysql_fetch_assoc($r_cat))
    	{
    		echo'<option value="'.$cat['id'].'">'.$cat['nom_fr'].'</option>';		
    	}
    	?>
    </select>
    <input type="submit" name="selection" value="sélectionner la catégorie" />
    </form>
    </div>
    Note : éviter de mettre des accents dans les noms (variables, ... )
    <select name="catégories"> ---> <select name="categorie">
    Dernière modification par Invité ; 15/05/2009 à 10h50.

  16. #16
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 208
    Points : 395
    Points
    395
    Par défaut
    Oups avait pas vu le contenu de la balise action, jvais aller boire mon café et jreviens

  17. #17
    Invité
    Invité(e)
    Par défaut
    Dans la page adminpages2.php :
    Code : 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
    <?php session_start(); // (pour utiliser les variables de session)
    // connexion a la BD
    include('_connexion.php');
    // recuperation de l'id de la categorie
    if (isset($_POST['categorie']) && $_POST['categorie']!='') 
    {
    	// on met la categorie dans une variable de session
    	// ce qui permettra de l utiliser par la suite, sans avoir besoin de la transmettre a nouveau
    	$_SESSION['idCAT'] = mysql_real_escape_string($_POST['categorie']);
    }
    ?>
    <html>
    <head>
    <title>adminpages2.php</title>
    </head>
    <body>
    <?php
    // on peut maintenant afficher les pages pour CETTE categorie
    // .....
    $reqSQL = "
    	SELECT * FROM latable
    	WHERE id_cat='".$_SESSION['idCAT']."'
    	";
    $result = mysql_query($reqSQL) or die('Erreur SQL !<br />'.$reqSQL.'<br />'.mysql_error());
    while($row = mysql_fetch_assoc($result))
    {
    		// .............................		
    }
    ?>
    </body>
    </html>

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    Ok merci à vous 2 je vais étudier ça. Mais petite question.

    Arnaud 13 à quoi sert ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="'.$cat['id'].'">

    Mon option va prendre la valeur de l'id de la catégorie sélectionnée ? Et ainsi je pourrais utiliser cet id sur ma 2 eme page ?

    Et jreaux62 je ne comprends pas trop la fin de cette ligne

    ==> if (isset($_POST['categorie']) && $_POST['categorie']!='')

  19. #19
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 208
    Points : 395
    Points
    395
    Par défaut
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="'.$cat['id'].'">
    tu pourra effectivement avoir l'id sur la 2ème page.
    Quant au
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['categorie']) && $_POST['categorie']!='')
    il permet de s'assurer que la variable $_POST['categorie'] soit bien assigné et que sa valeur ne soit pas nulle.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 291
    Points : 49
    Points
    49
    Par défaut
    Oki c'est bien ce que j'avais cru comprendre. Merci !

    Voici mon code :

    Code : 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
    <?php
     
    session_start(); // (pour utiliser les variables de session)
    // connexion a la BD
    include("connection.php"); 
    // recuperation de l'id de la categorie
    if (isset($_POST['categories']) && $_POST['categories']!='') // vérification si on a bien choisi une des catégories dans la liste déroulante
    {
    	// on met la categorie dans une variable de session
    	// ce qui permettra de l utiliser par la suite
    	$_SESSION['idcat'] = mysql_real_escape_string($_POST['categories']);
    }
     
    if(isset($_GET['action'])&& $_SESSION['idcat'])
    		{
     
    		switch($_GET['action'] ) 
    			{
    			case 'Supprimer':
     
    			$r_pages=mysql_db_query($db,"SELECT * FROM pages WHERE id=".$_GET['id'].""); 
    			while($pages = mysql_fetch_assoc($r_pages))
    				{
    				echo'Voulez-vous vraiment supprimer la page '.$pages['titre_fr'].'?
    				<form method="post" action="adminpages2.php?action=Suppression&amp;id='.$pages['id'].'"><input type="submit" value="Suppression" />
    				<input type="button" value="Annuler" onClick="document.location=\'adminpages2.php\'" /></form>';
    				}
    				break;
     
    				case 'Suppression':
    				$suppr=mysql_db_query($db,"DELETE from pages WHERE id='".$_GET['id']."' "); 
    				break;
     
    				case 'Ajouter':
    				$add=mysql_db_query($db,"INSERT INTO pages (titre_fr,titre_en,txt_fr,txt_en,ordre) VALUES ('$_POST[titre_fr]','$_POST[titre_en]','$_POST[txt_fr]','$_POST[txt_en]','$_POST[ordre]' ) "); 
    				break;
     
    				case 'Modifier':
    				echo'<meta http-equiv="Refresh" content="1; url=adminpages2.php">';
    				$mod = mysql_db_query($db,"UPDATE pages SET titre_fr='$_POST[titre_fr]', titre_en='$_POST[titre_en]', txt_fr='$_POST[txt_fr]', txt_en='$_POST[txt_en]',ordre='$_POST[ordre]' WHERE id='$_POST[id]'"); 
    				break;
     
    				default: echo"Choisissez un des trois choix";
    			}
    		}
     
     
    			$r_pages= mysql_db_query($db,"SELECT * FROM pages WHERE id_cat='".$_SESSION['idcat']."' ORDER BY ordre ASC");
     
    			while($pages = mysql_fetch_assoc($r_pages)) 
    			{
     
    			echo'<form method="post" action="adminpages2.php?action=Modifier"><input type="text" name="titre_fr" value="'.$pages['titre_fr'].'" /><input type="text" name="titre_en" value="'.$pages['titre_en'].'" /><input type="text" name="txt_fr" value="'.$pages['txt_fr'].'" /><input type="text" name="txt_en" value="'.$pages['txt_en'].'" />
    					Position 
    				   <select name="ordre">'; 
    					for($i=1;$i<=100;$i++)
      						{
        					echo'<option value="'.$i.'"';
        					if($i==$pages['ordre']) // vérification
        						{
          						echo' selected="selected"';
       			 				}
        						echo'>'.$i.'</option>';
    		   				}	
    						echo'</select>';
    						echo'<input type="submit" value="Modifier" /><input type="hidden" name="id" value="'.$pages['id'].'" />';
    						echo'<input type="button" value="Supprimer" onClick="document.location=\'adminpages2.php?action=Supprimer&amp;id='.$pages['id'].'" /></form> ';
     
    			}
     
    						echo'<div align="right"><form method="post" action="adminpages2.php?action=Ajouter&amp;id='.$pages['id'].'"><input type="text" name="titre_fr" /><input type="text" name="titre_en" /><input type="text" name="txt_fr" /><input type="text" name="txt_en" />
    						Position 
    					<select name="ordre">'; 
    					for($i=1;$i<=100;$i++)
      						{
        					echo'<option value="'.$i.'"';
        					if($i==$pages['ordre']) 
        						{
          						echo' selected="selected"';
       			 				}
        						echo'>'.$i.'</option>';
    		   				}	
    						echo'</select><input type="submit" name="Ajouter " value="Ajouter une catégorie" /></form>';
     
    ?>
    </body>
    </head>
    </html>
    Je suis certain qu'il doit y avoir des problèmes. Pour l'instant il y en a une qui s'affiche ==>Notice: Undefined index: idcat in c:\users\dimexbat5\desktop\ectfrance.com\admin\adminpages2.php on line 48.

    La ligne 48 étant cette ligne ci :
    $r_pages= mysql_db_query($db,"SELECT * FROM pages WHERE id_cat='".$_SESSION['idcat']."' ORDER BY ordre ASC");

    Je nvois pas ou est le problème !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Administration contenu application Android
    Par Keyzounet dans le forum Android
    Réponses: 0
    Dernier message: 13/01/2015, 17h40
  2. [eZ Publish] Édition de contenu avancée avec l'interface d'administration d'eZ Publish
    Par jojoinside dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 20/04/2009, 16h25
  3. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 17h38
  4. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 16h41

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