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 :

Page Liste-Detail en PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut Page Liste-Detail en PHP
    Bonjour,
    je travail et apprend à faire un site en PHP à l'aide de Dreamweaver.

    J'ai sur ma page d'accueil (index.php) une liste de définitions avec le titre (de la définition) et sa description en dessous (il y a une dizaine de mots). J'ai créer, à l'aide de dreamweaver, un ensemble Master-Detail (liste-detail). Quand on clique sur le titre de la définition on est envoyé vers la page detail.php qui affiche donc la définition seul (le titre et la description).

    J'aimerai pouvoir mettre dans cette page (detail.php) TOUTES les descriptions qui ont le même titre. Et je ne comprend pas comment faire.

    Pour exemple dans l'index.php :

    Titre : <gras><souligne>Lorem</souligne></gras>
    Description : Ipsum Doler blalblalala

    Quand on clique dessus on est envoyé vers detail.php

    Titre : Lorem
    Description : Ipsum Doler blalblalala

    Maintenant j'aimerai que detail.php me retrouve toutes les descriptions de Lorem

    Titre : Lorem
    Description : Ipsum Doler blalblalala
    Description : Uneautredefinition bliblbibibibib

    J'espère avoir été assez clair. Merci d'Avance pour vos réponse

    Trenkwill

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    C'est une requête SQL toute bête qu'il te faut mais sans voir ton code c'est difficile de te dire ce qui ne va pas.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut Le code pour les 2 pages
    Salut

    la page detail.php est alimenté grâce à un jeux d'enregistrement qui passe par l'URL (je ne sais pas si ce sont les termes correctes, mais bon....)

    Pour te donner une meilleurs vision, voici le code sur l'index qui link avec la définition sur detail.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h2><a href="detail.php?titre=<?php echo $row_definition_rs['titre']; ?>">
    	  				<?php echo $row_definition_rs['titre']; ?>
          				</a></h2>

    Puis sur la page detail.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
    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
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }
     
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
     
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
     
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
     
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO `user` (ID, pseudo, email, password) VALUES (%s, %s, %s, %s)",
                           GetSQLValueString($_POST['ID'], "int"),
                           GetSQLValueString($_POST['pseudo'], "text"),
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['password'], "text"));
     
      mysql_select_db($database_dico_connection, $dico_connection);
      $Result1 = mysql_query($insertSQL, $dico_connection) or die(mysql_error());
     
      $insertGoTo = "user/addword.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
     
    $currentPage = $_SERVER["PHP_SELF"];
     
    mysql_select_db($database_dico_connection, $dico_connection);
    $query_definition_rs = "SELECT * FROM definition";
    $definition_rs = mysql_query($query_definition_rs, $dico_connection) or die(mysql_error());
    $row_definition_rs = mysql_fetch_assoc($definition_rs);
    $totalRows_definition_rs = mysql_num_rows($definition_rs);
     
    mysql_select_db($database_dico_connection, $dico_connection);
    $query_exemple_rs = "SELECT * FROM exemple";
    $exemple_rs = mysql_query($query_exemple_rs, $dico_connection) or die(mysql_error());
    $row_exemple_rs = mysql_fetch_assoc($exemple_rs);
    $totalRows_exemple_rs = mysql_num_rows($exemple_rs);
     
    mysql_select_db($database_dico_connection, $dico_connection);
    $query_user_rs = "SELECT * FROM `user`";
    $user_rs = mysql_query($query_user_rs, $dico_connection) or die(mysql_error());
    $row_user_rs = mysql_fetch_assoc($user_rs);
    $totalRows_user_rs = mysql_num_rows($user_rs);
     
    $maxRows_detail_rs = 10;
    $pageNum_detail_rs = 0;
    if (isset($_GET['pageNum_detail_rs'])) {
      $pageNum_detail_rs = $_GET['pageNum_detail_rs'];
    }
    $startRow_detail_rs = $pageNum_detail_rs * $maxRows_detail_rs;
     
    $colname_detail_rs = "-1";
    if (isset($_GET['titre'])) {
      $colname_detail_rs = $_GET['titre'];
    }
    mysql_select_db($database_dico_connection, $dico_connection);
    $query_detail_rs = sprintf("SELECT titre, definition FROM definition WHERE titre = %s ORDER BY titre ASC", GetSQLValueString($colname_detail_rs, "text"));
    $query_limit_detail_rs = sprintf("%s LIMIT %d, %d", $query_detail_rs, $startRow_detail_rs, $maxRows_detail_rs);
    $detail_rs = mysql_query($query_limit_detail_rs, $dico_connection) or die(mysql_error());
    $row_detail_rs = mysql_fetch_assoc($detail_rs);
     
    if (isset($_GET['totalRows_detail_rs'])) {
      $totalRows_detail_rs = $_GET['totalRows_detail_rs'];
    } else {
      $all_detail_rs = mysql_query($query_detail_rs);
      $totalRows_detail_rs = mysql_num_rows($all_detail_rs);
    }
    $totalPages_detail_rs = ceil($totalRows_detail_rs/$maxRows_detail_rs)-1;
     
    $queryString_definition_rs = "";
    if (!empty($_SERVER['QUERY_STRING'])) {
      $params = explode("&", $_SERVER['QUERY_STRING']);
      $newParams = array();
      foreach ($params as $param) {
        if (stristr($param, "pageNum_definition_rs") == false && 
            stristr($param, "totalRows_definition_rs") == false) {
          array_push($newParams, $param);
        }
      }
      if (count($newParams) != 0) {
        $queryString_definition_rs = "&" . htmlentities(implode("&", $newParams));
      }
    }
    $queryString_definition_rs = sprintf("&totalRows_definition_rs=%d%s", $totalRows_definition_rs, $queryString_definition_rs);
    ?>

    Puis dans le body de detail.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <h2><?php echo $row_detail_rs['titre']; ?></h2>
                                 <p class="soumis">Ajouté(e) par </p>
                               </div>
                               <div class="text_definition">
                                 <p><?php echo $row_detail_rs['definition']; ?></p>

    (j'espère ne pas m'etre trompé dans le code a te fournir)

    Par contre, je ne comprend pas quand tu me parle de la "corespondance" entre titre et definition ? tu parle de la clé primaire ID ?

    En tout cas...
    Merci encore

    Trenkwill

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut
    Me serais-je tromper de morceau de code ?

    Je sais que Dreamweaver ne fais pas un trop bon code (je me souviens de l'époque ou j'apprenais l'HTML et le code de merde qu'il me chiais, c'était horrible)

    mais pour la plupart des choses ça marche ! ( et puis moi ça me permet d'apprendre et d'analyser un peu ce que le soft fait pour moi)

    J'attend avec impatience vos réponses.

    Trenkwill

  5. #5
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //...
    $detail_rs = mysql_query($query_limit_detail_rs, $dico_connection) or die(mysql_error());
     
    echo $_GET['titre'];
    while ($row_detail_rs = mysql_fetch_assoc($detail_rs)) {
       echo $row_detail_rs["definition"];
    }
     
    //...
    c'est ça que tu veux ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut Oui mais...
    Oui mais il ne me renvoi qu'une seul definition !

    Et dans ma BDD j'ai par exemple un mot qui peut avoir plusieur definition.

    Lorem : blablablaba
    et
    Lorem : bliblbiblbiblb

    Ce que je voudais c'est qui me renvoi quand je click sur Lorem les deux definitions : blablablaba et bliblbiblbiblb

    Merci pour ta patience

    Trenkwill

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

Discussions similaires

  1. [Système] Liste déroulante et PHP
    Par moonia dans le forum Langage
    Réponses: 15
    Dernier message: 28/04/2006, 09h44
  2. Page de login -- script PHP qui ne marche pas
    Par Alexlesilex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 24/04/2006, 16h32
  3. [PHP-JS] Liste déroulante + Javascript + Php et Mysql : Besoin d'aide
    Par vampyrx dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/03/2006, 01h40
  4. Script page administration et authentification Php
    Par mastercartman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 11/03/2006, 17h34
  5. Imprimer une autre page qui est en PHP
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/08/2005, 19h32

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