Page liste - details en PHP
trenkwill
Messages postés
5
Statut
Membre
-
trenkwill -
trenkwill -
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 : Lorem
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
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 : Lorem
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
A voir également:
- Page liste - details en PHP
- Liste déroulante excel - Guide
- Supprimer page word - Guide
- Liste déroulante en cascade - Guide
- Mettre google en page d'accueil - Guide
- Traduire une page en français - Guide
6 réponses
Bonjour,
ta page detail.php elle est alimentée comment ? depuis une base de donnée ?
comment fais tu la correspondance entre le titre et la définition correspondante ?
ta page detail.php elle est alimentée comment ? depuis une base de donnée ?
comment fais tu la correspondance entre le titre et la définition correspondante ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 :
Puis sur la page detail.php :
Puis dans le body :
(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 :D
Trenkwill
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 :
<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 :
<?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 :
<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 :D
Trenkwill
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
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
Honnêtement je ne comprend pas trop ce que t'a crée Dreamweaver
Déja tu as au moins trois ou 4 fois mysql_select_db(... avec la même base
laisse en un seulement
mets par contre à la fin du script mysql_close();
et je ne vois pas à quel endroit est affiché le résultat de la requette des détails par rapport au titre passé par l'URL
de toute façon tu n'en aura qu'un seul puisque:
ligne95 tu as:
$row_detail_rs = mysql_fetch_assoc($detail_rs);
cette ligne ne te sort qu'un ligne de la réponse alors même si plusieurs correspondent au titre il y en aura tjs qu'une
il faut faire une boucle while
Déja tu as au moins trois ou 4 fois mysql_select_db(... avec la même base
laisse en un seulement
mets par contre à la fin du script mysql_close();
et je ne vois pas à quel endroit est affiché le résultat de la requette des détails par rapport au titre passé par l'URL
de toute façon tu n'en aura qu'un seul puisque:
ligne95 tu as:
$row_detail_rs = mysql_fetch_assoc($detail_rs);
cette ligne ne te sort qu'un ligne de la réponse alors même si plusieurs correspondent au titre il y en aura tjs qu'une
il faut faire une boucle while
while($row_detail_rs = mysql_fetch_assoc($detail_rs))){
//et la on affiche chaque ligne de résultat
echo $row_detail_rs['nom_du_champ_detail'];
}