Transmission numéros par SESSION et requête SQL
Evelyne31
Messages postés
56
Statut
Membre
-
g4br13l Messages postés 385 Statut Membre -
g4br13l Messages postés 385 Statut Membre -
Bonjour à tous/toutes,
Je cale pour construire une requête et je compte sur vous :
1°) J'ai un fichier php de formulaire de recherche de gîtes (par département, commune...) avec systèmes de sessions.
2°) J'ai un fichier php de traitement de ce formulaire de recherche. Les résultats s'affichent sous la forme d'une liste.
Les résultats sont composés de deux numéros accollés pour éviter les doublons : celui du gîte et celui de la commune où il est situé. Voici la syntaxe de cet affichage :
3°) Le problème est que sur lorsque je clique sur un n° j'arrive sur la page du gîte où il est décrit en détail.
Mais je n'y arrive pas car il me faudrait alors pour faire mes requêtes que le n° du gîte sans celui de la commune et je ne vois pas comment les dissocier ? Quand je fais un echo $numGite j'obtiens les 2 n°. C'est insoluble !!!
Pouvez-vous, SVP, juste me dire comment procéder ??? Ci-dessous ma requête où $_SESSION["numGite"] contient les 2 n°.
En espérant avoir été claire, je vous remercie par avance,
Evelyne
Je cale pour construire une requête et je compte sur vous :
1°) J'ai un fichier php de formulaire de recherche de gîtes (par département, commune...) avec systèmes de sessions.
2°) J'ai un fichier php de traitement de ce formulaire de recherche. Les résultats s'affichent sous la forme d'une liste.
Les résultats sont composés de deux numéros accollés pour éviter les doublons : celui du gîte et celui de la commune où il est situé. Voici la syntaxe de cet affichage :
echo '<td ><a href="../lith_page_gite.php?numGite='. $donnees_messages['codeCommune'] . ' ' . $donnees_messages['numGite'] . '"> '. $donnees_messages['codeCommune'] . ' ' . $donnees_messages['numGite'] . ' </a></td>';
3°) Le problème est que sur lorsque je clique sur un n° j'arrive sur la page du gîte où il est décrit en détail.
Mais je n'y arrive pas car il me faudrait alors pour faire mes requêtes que le n° du gîte sans celui de la commune et je ne vois pas comment les dissocier ? Quand je fais un echo $numGite j'obtiens les 2 n°. C'est insoluble !!!
Pouvez-vous, SVP, juste me dire comment procéder ??? Ci-dessous ma requête où $_SESSION["numGite"] contient les 2 n°.
En espérant avoir été claire, je vous remercie par avance,
Evelyne
SELECT g.*, p.codePays, p.nomPays, d.codeDepartement, d.nomDepartement, c.codeCommune, c.nomCommune FROM GITE g, PAYS p, DEPARTEMENT d, COMMUNE c, AS_COMMU_DEPAR acd WHERE g.numGite '" . $_SESSION["numGite"]. " ' and g.ID_commune = c.ID_commune and p.ID_pays = c.PAYS_ID_pays and d.ID_departement = acd.DEPARTEMENT_ID_departement and c.ID_commune = acd.COMMUNE_ID_commune
A voir également:
- Transmission numéros par SESSION et requête SQL
- Whatsapp 2 numéros - Guide
- Comment récupérer les numéros de téléphone supprimer - Accueil - Android
- Numeros indesirables - Guide
- Session invalide ou obsolète - Forum Consommation & Internet
- Logiciel sql - Télécharger - Bases de données
23 réponses
Bonjour, je n'ai pas pu te répondre hier mais je ne comprend pas pourquoi tu compte utilisé une variable de session ? as-tu besoin de reprendre ces info par la suite ? Ou c'est une obligation d'utiliser cela ?
Sans vouloir te voler ton travail mais juste pour bien comprendre ce que tu fais pourais-je avoir le code des page selection du gite et ensuite celle d'affichage d'info?
Ou même un screen de ton résultat que je puisse comprendre parce que je me suis perdu dans ton code!
Donc juste pour comprendre ta recherche ce fait-elle par des liste déroulante ? (je me plonge dans ton code apres ma pause je cherche d'abbord a me renseigner ).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et si ti fesais 4 liste déroulante une a coter des l'autre il rentre les infos qui l'interesse puis presser valider et a se moment tout les gite qui corresponde a cette recherche figure dessous. De cette façon l'utilisateur pourait faire une recherche plus précise ;)
Ensuite pour ta base a tu un MCD ou un MLD ?
Ensuite pour ta base a tu un MCD ou un MLD ?
Je dit sa pour te proposé une solution plus simple que ce que tu cherches a faire. Je ne dit pas que ta première façon de faire est fausse ou mauvaise.
Bon je me prend peut-être beaucoup dans ton projet mais tu dit que cela va se complexifier car tu dois ajouter des options a ce site ou pour géré les listes?
Ce que je te dit justement avec une 5ième liste maintenant pour les pays se serais bien car quelque petit if et le tour est joué ;)
Mais je pense que en 2h tu peux finir le systeme de recherche si tout les reste est bien ficellé .
Mais je pense que en 2h tu peux finir le systeme de recherche si tout les reste est bien ficellé .
Et pour le passage a la deuxième page pour les détails, tu devrais essayer de passer ta variable en POST ou en GET
Bonjour g4br13l,
et merci pour cette réponse rapide. Mais c'est ce que j'ai tenté de faire sans succès Voici le début de ma page d'affichage des détails :
Malheureusement un
Je sèche.
Evelyne
et merci pour cette réponse rapide. Mais c'est ce que j'ai tenté de faire sans succès Voici le début de ma page d'affichage des détails :
// Récupération des données (critères de recherche) via le formulaire
if (isset($_GET["numGite"]) && isset($_GET["codeCommune"]) )
{ // si le formulaire a été posté
$_SESSION["numGite"] = trim($_GET["numGite"]);
$_SESSION["codeCommune"] = trim($_GET["codeCommune"]);
$numGite = ($_GET["numGite"]);
$codeCommune = ($_GET["codeCommune"]);
Malheureusement un
echo $_SESSION["numGite"];me donne les 2 numéros ensemble et un
$codeCommune = ($_GET["codeCommune"]);me donne : Notice: Undefined index: codeCommune in line 32 et c'est celle de l'echo codeCommune.
Je sèche.
Evelyne
Bonjour g4br13l,
Merci pour cette réponse matinale. J'ai abandonné hier soir. Tu as raison, il n'y a pas lieu d'utiliser une variable de session car je n'ai pas besoin de cette info par la suite. J'ai vu cette erreur et voilà où j'en suis ce matin :
- sur la page de traitement du formulaire je récupère bien les 2 variables dont j'ai besoin ensuite : $numGite et $codeCommune puisque je les affiche par le code donné ci-dessus :
- sur la page d'affichage des détails je récupère ces variables par :
Et là, toujours les mêmes messages d'erreur suite à des echo, dans les 2 fichiers :
Notice: Undefined variable: numGite
et Notice: Undefined variable: codeCommune.
J'ai absolument besoin de ce numGite pour toutes mes requêtes du second fichier ?????
Un grand merci si tu voyais d'où vient ce problème jamais encore rencontré ?
Je cherche de mon côté, bonne journée,
Evelyne
Merci pour cette réponse matinale. J'ai abandonné hier soir. Tu as raison, il n'y a pas lieu d'utiliser une variable de session car je n'ai pas besoin de cette info par la suite. J'ai vu cette erreur et voilà où j'en suis ce matin :
- sur la page de traitement du formulaire je récupère bien les 2 variables dont j'ai besoin ensuite : $numGite et $codeCommune puisque je les affiche par le code donné ci-dessus :
echo '<td ><a href="../lith_page_gite.php?page_gite='. $donnees_messages['codeCommune'] . ' ' . $donnees_messages['numGite'] . '"> '. $donnees_messages['codeCommune'] . ' ' . $donnees_messages['numGite'] . ' </a></td>';. J'ai juste changé le nom de la page (numGite en page_gite) pour qu'il n'y ait pas 2 fois le même nom "numGite".
- sur la page d'affichage des détails je récupère ces variables par :
if (isset($_GET["page_gite"]) && isset($_POST["numGite"]) && isset($_POST["codeCommune"]) )
{ // si le formulaire a été posté
$_SESSION["page_gite"] = trim($_GET["page_gite"]);
$codeCommune = $_POST["codeCommune"];
$numGite = $_POST["numGite"];
...
Et là, toujours les mêmes messages d'erreur suite à des echo, dans les 2 fichiers :
Notice: Undefined variable: numGite
et Notice: Undefined variable: codeCommune.
J'ai absolument besoin de ce numGite pour toutes mes requêtes du second fichier ?????
Un grand merci si tu voyais d'où vient ce problème jamais encore rencontré ?
Je cherche de mon côté, bonne journée,
Evelyne
Il n'y a aucun souci g4br12l, c'est très gentil de ta part de te pencher sur mes problèmes. Je te transmets ci-dessous mes codes, qui doivent être parsemés d'erreurs et s'ils peuvent servir au plus de monde possible, c'est tant mieux. Je ne suis pas professionnelle.
Page de traitement du formulaire de recherche. Il y a 4 cases : par département, par commune, par roche et par étage géologique. Seule la recherche par département est finalisée :
Page d'affichage des détails concernant le gîte (en cours de correction) :
Page de traitement du formulaire de recherche. Il y a 4 cases : par département, par commune, par roche et par étage géologique. Seule la recherche par département est finalisée :
<?php session_start(); // je démarre la session
// ------------------------
//Connexion à la base de données
mysql_connect('localhost', 'root', 'root');
mysql_select_db('lithotheque');
// ------------------------
// Initialisation des SESSION : si elles n'existent pas, on les crée
if(!isset($_SESSION["recherche"]["mot"])){
$_SESSION["recherche"]["mot"] = '';
}
if(!isset($_SESSION["recherche"]["type"])){
$_SESSION["recherche"]["type"] = '';
}
/*if(!isset($_SESSION["numGite"])){
$_SESSION["numGite"] = '';
}*/
// ------------------------
// Récupération des données (critères de recherche) via le formulaire
if (isset($_POST["recherche"])){ // si le formulaire a été posté
if (isset($_POST["mot_recherche"])){
$_SESSION["recherche"]["mot"] = trim($_POST["mot_recherche"]);
}
if (isset($_POST["type_recherche"])){
$_SESSION["recherche"]["type"] = trim($_POST["type_recherche"]);
}
}
// ------------------------
// Création de la requête
switch (($_SESSION["recherche"]["type"])) {
case 'codeDepartement': // contient le mot ...$mot_recherche...
// IMPORTANT => mysql_real_escape_string(...) pour PROTEGER des injections SQL !!
$clauseWhere = " WHERE codeDepartement LIKE '%" . mysql_real_escape_string($_SESSION['recherche']['mot']) . "%' ";
$retour_total_query =
"SELECT count(ID_gite) AS total FROM GITE g
JOIN AS_COMMU_DEPAR acd ON g.ID_commune = acd.COMMUNE_ID_commune
JOIN DEPARTEMENT d ON d.ID_departement = acd.DEPARTEMENT_ID_departement $clauseWhere
";
//$clauseWhere; // Critères de recherche
$retour_total = mysql_query($retour_total_query) or die(mysql_error());
$donnees_total = mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total = $donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
echo '=====';
echo $retour_total;
print_r($retour_total);
var_dump($retour_total);
echo '=====';
echo $donnees_total;
echo '=====';
// -----------------------
// Pagination
$messagesParPage = 5; // Nous allons afficher 2 messages par page.
//Nous allons maintenant compter le nombre de pages.
$nombreDePages = ceil($total/$messagesParPage);
// ------------------------
// Récupération du numéro de page
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle = intval($_GET['page']); // Récupération via URL
if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle = $nombreDePages;
}
} else { // Sinon
$pageActuelle = 1; // La page actuelle est la n°1
}
$premiereEntree = ($pageActuelle-1)*$messagesParPage; // On calcule la première entrée à lire
mysql_query("SET NAMES 'utf8'");
$retour_messages_query =
"SELECT g.numGite, c.codeCommune
FROM GITE g, DEPARTEMENT d, COMMUNE c, AS_COMMU_DEPAR acd
$clauseWhere
AND g.ID_commune = c.ID_commune
and d.ID_departement = acd.DEPARTEMENT_ID_departement
and c.ID_commune = acd.COMMUNE_ID_commune
".
//$clauseWhere; // Critères de recherche
" ORDER BY numGite
ASC LIMIT ".$premiereEntree.", ".$messagesParPage." "; // Pagination*/
$retour_messages = mysql_query($retour_messages_query);
echo '+++++';
echo $retour_messages;
print_r($retour_messages);
var_dump($retour_messages);
echo '+++++';
$commune_query =
"SELECT codeCommune AS commune FROM COMMUNE c
JOIN GITE g ON g.numGite = '". $retour_messages ."'
";
$retour_commune = mysql_query($commune_query) or die(mysql_error());
$commune_total = mysql_fetch_assoc($retour_commune); //On range retour sous la forme d'un tableau.
$commune = $commune_total['commune']; //On récupère le total pour le placer dans la variable $total.
echo '&&&&&&';
echo $retour_commune;
echo $commune_total;
echo $commune;
var_dump($commune_total);
var_dump($commune);
echo '&&&&&&';
break;
case 'nomCommune':
// [......]
$clauseWhere = " WHERE nomCommune LIKE '%".mysql_real_escape_string($_SESSION['recherche']['mot'])."%' ";
$retour_total_query =
"SELECT count(ID_gite) AS total FROM GITE g
JOIN COMMUNE c ON g.ID_commune = c.ID_commune $clauseWhere
";
//$clauseWhere; // Critères de recherche
$retour_total = mysql_query($retour_total_query) or die (mysql_error());
$donnees_total = mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total = $donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
// ------------------------
// Pagination
$messagesParPage = 3; // Nous allons afficher 2 messages par page.
//Nous allons maintenant compter le nombre de pages.
$nombreDePages = ceil($total/$messagesParPage);
// ------------------------
// Récupération du numéro de page
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle = intval($_GET['page']); // Récupération via URL
if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle = $nombreDePages;
}
} else { // Sinon
$pageActuelle = 1; // La page actuelle est la n°1
}
$premiereEntree = ($pageActuelle-1)*$messagesParPage; // On calcule la première entrée à lire
mysql_query("SET NAMES 'utf8'");
$retour_messages_query =
"SELECT g.numGite, c.codeCommune
FROM GITE g, COMMUNE c
WHERE g.ID_commune = c.ID_commune $clauseWhere
".
//$clauseWhere. // Critères de recherche
" ORDER BY numGite
ASC LIMIT ".$premiereEntree.", ".$messagesParPage." "; // Pagination*/
$retour_messages = mysql_query($retour_messages_query);
break;
case 'natureRoche':
// [......]
$clauseWhere = " WHERE natureRoche LIKE '%".mysql_real_escape_string($_SESSION['recherche']['mot'])."%' ";
$retour_total_query =
"SELECT count(ID_gite) AS total FROM GITE g
JOIN AS_GITE_ROCHE agr ON g.ID_gite = agr.GITE_ID_gite
JOIN ROCHE r ON agr.ROCHE_ID_roche = r.ID_roche $clauseWhere
";
//$clauseWhere; // Critères de recherche
$retour_total = mysql_query($retour_total_query) or die (mysql_error());
$donnees_total = mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total = $donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
// ------------------------
// Pagination
$messagesParPage = 3; // Nous allons afficher 2 messages par page.
//Nous allons maintenant compter le nombre de pages.
$nombreDePages = ceil($total/$messagesParPage);
// ------------------------
// Récupération du numéro de page
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle = intval($_GET['page']); // Récupération via URL
if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle = $nombreDePages;
}
} else { // Sinon
$pageActuelle = 1; // La page actuelle est la n°1
}
$premiereEntree = ($pageActuelle-1)*$messagesParPage; // On calcule la première entrée à lire
mysql_query("SET NAMES 'utf8'");
$retour_messages_query =
"SELECT g.numGite
FROM GITE g
JOIN AS_GITE_ROCHE agr ON g.ID_gite = agr.GITE_ID_gite
JOIN ROCHE r ON agr.ROCHE_ID_roche = r.ID_roche $clauseWhere
".
//$clauseWhere. // Critères de recherche
" ORDER BY numGite
ASC LIMIT ".$premiereEntree.", ".$messagesParPage." "; // Pagination
$retour_messages = mysql_query($retour_messages_query);
break;
case 'nomEtage':
// [......]
$clauseWhere = " WHERE nomEtage LIKE '%".mysql_real_escape_string($_SESSION['recherche']['mot'])."%' ";
$retour_total_query =
"SELECT count(ID_gite) AS total FROM GITE g
JOIN AS_GITE_ETAGE age ON g.ID_gite = age.GITE_ID_gite
JOIN ETAGE e ON age.ETAGE_ID_etage = e.ID_etage
".
$clauseWhere; // Critères de recherche
$retour_total = mysql_query($retour_total_query) or die (mysql_error());
$donnees_total = mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total = $donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
// ------------------------
// Pagination
$messagesParPage = 3; // Nous allons afficher 2 messages par page.
//Nous allons maintenant compter le nombre de pages.
$nombreDePages = ceil($total/$messagesParPage);
// ------------------------
// Récupération du numéro de page
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle = intval($_GET['page']); // Récupération via URL
if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle = $nombreDePages;
}
} else { // Sinon
$pageActuelle = 1; // La page actuelle est la n°1
}
$premiereEntree = ($pageActuelle-1)*$messagesParPage; // On calcule la première entrée à lire
mysql_query("SET NAMES 'utf8'");
$retour_messages_query =
"SELECT g.numGite
FROM GITE g
JOIN AS_GITE_ETAGE age ON g.ID_gite = age.GITE_ID_gite
JOIN ETAGE e ON age.ETAGE_ID_etage = e.ID_etage
".
$clauseWhere. // Critères de recherche
" ORDER BY numGite
ASC LIMIT ".$premiereEntree.", ".$messagesParPage." "; // Pagination
$retour_messages = mysql_query($retour_messages_query);
break;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="../lith_css/lith_style_form_rech.css" />
<title>Lithothèque, résultat d'une recherche</title>
</head>
<body>
<?php include("lith_entete_form.php");?>
<p class="titre_form">Résultat de votre recherche</p>
<span class="centre"><p>Pour le terme recherché : <span class="vert_gras"><?php echo $_SESSION['recherche']['mot']; ?></span>, il y a <span class="vert_gras"><?php echo $total; ?></span> enregistrement<?php if($total>1){ echo 's'; } ?> dans la Lithothèque.</p></span>
<?php
if($total) {
// début du tableau
echo '<table id=table1>'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<th>Numéros des gîtes</th>';
//echo '<th>Nature des gîtes</th>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 1 colonne, 1 résultat par ligne.
while($donnees_messages = mysql_fetch_array($retour_messages)) {
echo '<tr>';
echo '<td ><a href="../lith_page_gite.php?page_gite='. $donnees_messages['codeCommune'] . ' ' . $donnees_messages['numGite'] . '"> '. $donnees_messages['codeCommune'] . ' ' . $donnees_messages['numGite'] . ' </a></td>';
echo '</tr>'."\n";
} echo '</table>'."\n";
// fin du tableau.
}
else echo 'Il n\'y a pas encore d\'enregistrement dans la Lithothèque correspondant au terme de votre recherche.';
// ------------------------
// Affichage de la PAGINATION
echo '<p style="text-align:center;">Page(s) : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo ' [ '.$i.' ] ';
} else { //Sinon...
echo ' <a href="lith_traitement_form_rech.php?page='.$i.'">'.$i.'</a> ';
}
}
echo '</p>';
echo '!!!!!!!!!!';
echo $donnees_messages["codeCommune"];
echo '!!!!!!!!!!';
echo $numGite;
echo $codeCommune;
echo $donnees_messages['numGite'];
?>
<IMG SRC="../lith_images/puce_biface.png"> <a href="../lith_acces/lith_acces.php">Retour accueil Lithothèque</a>
<br /><br />
<?php include("lith_pied_page_form_rech.php"); ?>
</body>
</html>
Page d'affichage des détails concernant le gîte (en cours de correction) :
<?php session_start(); // je démarre la session
error_reporting(-1);
include('lith_structure/sql.php');
// Initialisation des SESSION : si elles n'existent pas, on les crée
// ------------------------
// Récupération des données (critères de recherche) via le formulaire
if (isset($_GET["page_gite"]) && isset($_POST["numGite"]) && isset($_POST["codeCommune"]) )
{ // si le formulaire a été posté
$_SESSION["page_gite"] = trim($_GET["page_gite"]);
$codeCommune = $_POST["codeCommune"];
$numGite = $_POST["numGite"];
echo '+++++';
echo $numGite;
echo $codeCommune;
echo '+++++';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="lith_css/lith_style_page.css" />
<title>Lithothèque, page gîte</title>
</head>
<body>
<?php include("lith_entete.php"); ?>
<?php
$req = parcoursRS(SQLSelect("
SELECT g.*,
p.codePays, p.nomPays, d.codeDepartement, d.nomDepartement, c.nomCommune
FROM GITE g, PAYS p, DEPARTEMENT d, COMMUNE c, AS_COMMU_DEPAR acd
WHERE g.numGite = '". $_POST['numGite'] ."'
and c.codeCommune = '". $_POST['codeCommune'] ."'
and g.ID_commune = c.ID_commune
and p.ID_pays = c.PAYS_ID_pays
and d.ID_departement = acd.DEPARTEMENT_ID_departement
and c.ID_commune = acd.COMMUNE_ID_commune
"));
foreach ($req as $result)
{
?>
<p class="titre_form">Page gîte <?php echo "n° : ".$result['codePays']." ".$result['codeDepartement']." ".$_POST['codeCommune']." ".$_POST['numGite']."<br/>";?></p>
<?php
}
?>
<table id="table">
<tr>
<td colspan="2">
<titre>Localisation</titre>
</td>
<td colspan="2">
<titre>Lithothèque</titre>
</td>
</tr>
<?php
$req2 = parcoursRS(SQLSelect("SELECT
b.numCarteBrgm, b.nomCarteBrgm, b.precisionCarteBrgm,
i.numCarteIgn, i.nomCarteIgn, i.precisionCarteIgn
FROM CARTE_BRGM b, CARTE_IGN i, GITE g
WHERE g.numGite = '" . $_POST["numGite"]. " '
and g.ID_carte_brgm = b.ID_carte_brgm
and g.ID_carte_ign = i.ID_carte_ign
"));
$idgite = $result['ID_gite'];
foreach ($req2 as $cartes)
{
echo "<tr><td><i>Pays (nom, code) :</i></td><td>".$result['nomPays']." ".$result['codePays'],"</td><td><i>Date création fiche : </i></td><td>".$result['dateCreaFicheG'],"</td></tr>";
echo "<tr><td><i>Département (idem) :</i></td><td>".$result['nomDepartement']." ".$result['codeDepartement'],"</td><td><i>Auteur création : </i><td>".$result['nomCreaFicheG'],"</td></tr>";
echo "<tr><td><i>Commune (idem) :</i></td><td>".$result['nomCommune']." ".$result['codeCommune'],"</td><td><i>Date dernière modification : </i><td>".$result['dateModifFicheG']."</td></tr>";
echo "<tr><td><i>Carte BRGM (nom, n°, précision) :</i></td><td>".$cartes['nomCarteBrgm']." ".$cartes['numCarteBrgm']." ".$cartes['precisionCarteBrgm'],"</td><td><i>Auteur modification : </i><td>".$result['nomModifFicheG'],"</td></tr>";
echo "<tr><td><i>Carte IGN (idem) :</i></td><td>".$cartes['nomCarteIgn']." ".$cartes['numCarteIgn']." ".$cartes['precisionCarteIgn'],"</td><td><i>Date dernière saisie : </i><td>".$result['dateSaisieFicheG']."</td></tr>";
echo "<tr><td><i>Carte IGN (idem) :</i></td><td>".$cartes['nomCarteIgn']." ".$cartes['numCarteIgn']." ".$cartes['precisionCarteIgn'],"</td><td><i>Auteur dernière saisie : </i><td>".$result['nomSaisieFicheG']."</td></tr>";
}
?>
<div align="center">
<table id="table_coordonnees">
<caption>Coordonnées  </caption>
<tr>
<th>Points</th>
<th>Altitude</th>
<th>X</th>
<th>Y</th>
<th>Longitude</th>
<th>Latitude</th>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="altitudeGite1" size="10" maxlength="10"/></td>
<td><input type="text" name="corX1Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="corY1Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="longitudeGite1" size="10" maxlength="10"/></td>
<td><input type="text" name="latitudeGite1" size="10" maxlength="10"/></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="altitudeGite2" size="10" maxlength="10"/></td>
<td><input type="text" name="corX2Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="corY2Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="longitudeGite2" size="10" maxlength="10"/></td>
<td><input type="text" name="latitudeGite2" size="10" maxlength="10"/></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="altitudeGite3" size="10" maxlength="10"/></td>
<td><input type="text" name="corX3Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="corY3Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="longitudeGite3" size="10" maxlength="10"/></td>
<td><input type="text" name="latitudeGite3" size="10" maxlength="10"/></td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="altitudeGite4" size="10" maxlength="10"/></td>
<td><input type="text" name="corX4Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="corY4Gite" size="10" maxlength="10"/></td>
<td><input type="text" name="longitudeGite4" size="10" maxlength="10"/></td>
<td><input type="text" name="latitudeGite4" size="10" maxlength="10"/></td>
</tr>
</table>
</div>
</table>
<table id="table">
<tr>
<td colspan="4">
<br/><titre>Gîte</titre><br/><br/></td></tr>
<?php
$req5 = parcoursRS(SQLSelect("
SELECT e.nomEtage, e.ageEtage, e.ereEtage, e.periodeEtage, age.precisionAgeEtage
from ETAGE e, AS_GITE_ETAGE age
WHERE e.ID_etage = age.ETAGE_ID_etage
and $idgite = age.GITE_ID_gite
"));
foreach ($req5 as $etage)
{
echo "<tr><td><i>Année de découverte : </i></td><td>".$result['anneeDecouverteG'],"</td><td></td><td></td></tr>";
echo "<tr><td><i>Type de gîte : </i></td><td>".$result['typeGite'],"</td><td><i>Nature du gîte : </i></td><td>".$result['natureGite'],"</td></tr>";
echo "<tr><td><i>Etage : </i></td><td>".$etage['nomEtage'],"</td><td><i>Datation étage : </i></td><td>".$etage['dateEtage'],"</td></tr>";
echo "<tr><td><i>Précision étage : </i></td><td colspan=3>".$etage['precisionAgeEtage'],"</td></tr>";
}
$req6 = parcoursRS(SQLSelect("
SELECT r.natureRoche
from ROCHE r, AS_GITE_ROCHE agr
WHERE $idgite = agr.GITE_ID_gite
and r.ID_roche = agr.ROCHE_ID_ROCHE
"));
foreach ($req6 as $roche)
{
echo "<tr><td><i>Nature roche : </i></td><td>".$roche['natureRoche'],"</td><td></td><td></td></tr>";
}
$req7 = parcoursRS(SQLSelect("
SELECT m.nomMilieu
from MILIEU_FORMATION m, AS_MILIEU_FORMA_GITE amfg
WHERE $idgite = amfg.GITE_ID_gite
and m.ID_milieu = amfg.MILIEU_FORMATION_ID_milieu
"));
foreach ($req7 as $milieu)
{
echo "<tr><td><i>Milieu de formation : </i></td><td colspan=3>".$milieu['nomMilieu'],"</td></tr>";
echo "<tr><td><i>Description du matériau in situ : </i></td><td colspan=3>".$result['materiau'],"</td></tr>";
echo "<tr><td><i>Géomorphologie : </i></td><td colspan=3>".$result['geomorphologie'],"</td></tr>";
echo "<tr><td><i>Nom générique : </i></td><td colspan=3>".$result['nomGenerique'],"</td></tr>";
echo "<tr><td><i>Description du gîte : </i></td><td colspan=3>".$result['descriptionGite'],"<br /><br /></td></tr>";
}
?>
<tr>
<td colspan="4">
<titre>Programme et prospection</titre><br /><br /></td></tr>
<?php
echo "<tr><td><i>Nom du programme : </i></td><td colspan=3>Programme ANR 2012-2015 Prospections archéologiques du Massif des Alpilles</td></tr>";
echo "<tr><td><i>Responsable(s) : </i></td><td colspan=3></td></tr>";
echo "<tr><td><i>Description : </i></td><td colspan=3><br /><br /></td></tr>";
echo "<tr><td><i>Nom de la prospection : </i></td><td colspan=3></td></tr>";
echo "<tr><td><i>Responsable(s) : </i></td><td colspan=3></td></tr>";
echo "<tr><td><i>Prospecteur : </i></td><td colspan=3></td></tr>";
echo "<tr><td><i>Description : </i></td><td colspan=3></td></tr>";
echo "<tr><td><i>Zone géographique : </i></td><td colspan=3><br /><br /></td></tr>";
?>
<tr>
<td colspan="4">
<titre>Bibliographie</titre><br/><br/></td></tr>
<?php
echo "<tr><td><i>Références abrégées (cliquables si pdf à télécharger) : ex. Servelle C., 2001b</i></td><td colspan=3>SCHLEIERMACHER, Friedrich Daniel Ernst. <i>Herméneutique.</i> Traduit de l'allemand par Christian Berner. Paris : Editions du Cerf ; Québec : Presses de l'Université Laval, 1987, XVIII-202 p. Collection Passages.<i>Herméneutique.</i> Traduit de l'allemand par Christian Berner. Paris : Editions du Cerf ; Québec : Presses de l'Université Laval, 1987, XVIII-202 p. Collection Passages.<br /><br /></td></tr>";
?>
<tr>
<td colspan="4">
<titre>Echantillons prélevés</titre><br/><br/></td></tr>
<tr>
<td colspan="4">
<?php
$req4 = parcoursRS(SQLSelect("SELECT numEchantillon from ECHANTILLON e, GITE g
WHERE g.numGite = '" . $_SESSION["numGite"]. " '
and g.ID_gite = e.GITE_ID_gite1
"));
foreach ($req4 as $echantillons)
{
echo '<a href="lith_page_echantillon.php?numEchantillon=' . $echantillons['numEchantillon'] . '"> n°' . $echantillons['numEchantillon'] . ',</a>';
}
?>
<br/><br/></td></tr>
<tr>
<td colspan="4">
<titre>Photographies</titre><br/><br/></td></tr>
<tr>
<td colspan="4">
<?php
$req3 = parcoursRS(SQLSelect("
SELECT nomPhotoG
from PHOTO_GITE
WHERE nomPhotoG LIKE '%".$_SESSION["numGite"]."%'
"));
foreach ($req3 as $photos)
{
// début du tableau
//echo '<table>'."\n";
//echo '<tr>'."\n";
//echo "<td>{$photos['nomPhotoG']}</td>";
echo '<a href="lith_page_photoG.php?nomPhotoG=' . $photos['nomPhotoG'] . '"><img src="lith_images/lith_images_gite/mini_' . $photos['nomPhotoG'] . '"/></a>  ';
//echo '</tr>'."\n";
//echo '</table>'."\n";
}
$_SESSION['codePays'] = $result['codePays'];
$_SESSION['codeDepartement'] = $result['codeDepartement'];
$_SESSION['codeCommune'] = $result['codeCommune'];
?>
<br /><br /></td></tr>
</table>
<br /><table id="table">
<tr>
<td><IMG SRC="lith_images/puce_biface.png"> <a href="lith_acces/lith_acces.php">Retour accueil Lithothèque</a></td>
<td><IMG SRC="lith_images/puce_biface.png"> <a href="lith_form_modif_gite.php">Modifier les données de ce gîte</a></td>
<td><IMG SRC="lith_images/puce_biface.png"> <a href="lith_form_modif_gite.php">Supprimer ce gîte de la Lithothèque</a></td>
</tr></table><br />
</div>
<?php include("lith_pied_page.php"); ?>
</body>
</html>
Oui et non ! Le formulaire de recherche présente une liste déroulante pour choisir le type de recherche (département, commune...) puis une zone de texte où l'utilisateur saisi le terme qu'il souhaite rechercher (n° de département, nom de commune...).
De mon côté, j'imprime pour y voir plus clair. Ne t'embête pas trop.
Merci,
Evelyne
De mon côté, j'imprime pour y voir plus clair. Ne t'embête pas trop.
Merci,
Evelyne
et voici le screen du résultat d'une recherche pour le département 31 par ex.
On a (liens cliquables) le n° de la commune, par ex 0282 puis à côté le n° du gîte, 001
http://img836.imageshack.us/img836/6443/listeresultatsrecherche.png
Encore merci,
Evelyne
On a (liens cliquables) le n° de la commune, par ex 0282 puis à côté le n° du gîte, 001
http://img836.imageshack.us/img836/6443/listeresultatsrecherche.png
Encore merci,
Evelyne
Pour les 4 menus déroulants, je ne l'ai pas fait car par la suite les recherches vont se complexifier avec et/ou/sauf...
Mon site est en local pour le moment.
Ne te prends pas trop la tête. Je cherche de mon côté...
Evelyne
Mon site est en local pour le moment.
Ne te prends pas trop la tête. Je cherche de mon côté...
Evelyne
Mais c'est super que tu t'intéresses à ce site !
Ce sont uniquement les recherches qui vont se complexifier à plus ou moins long terme.
A terme, il y aura beaucoup de gîtes pour 3 pays (France, Espagne, Italie). Il faut que je prévois de suite des recherches par ex. sur un département, rechercher tous les gîtes qui ont du silex et qui appartiennent à l'ère géologique "Mézozoïque" mais pas à l'étage "Atlantique"... .
Avec mes remerciements pour ton aide, je t'envoie le MCD de suite.
Evelyne
Ce sont uniquement les recherches qui vont se complexifier à plus ou moins long terme.
A terme, il y aura beaucoup de gîtes pour 3 pays (France, Espagne, Italie). Il faut que je prévois de suite des recherches par ex. sur un département, rechercher tous les gîtes qui ont du silex et qui appartiennent à l'ère géologique "Mézozoïque" mais pas à l'étage "Atlantique"... .
Avec mes remerciements pour ton aide, je t'envoie le MCD de suite.
Evelyne
Voici les liens pour les MCD :
- AnalyseSI : http://img834.imageshack.us/img834/2387/mcd20130304.png
- Workbench : http://img443.imageshack.us/img443/3320/lithothequewb05032013.png
Je travaille toujours avec les 2, chacun a ses avantages.
Ca fait un semaine que je suis sur ce formulaire de recherche, alors le terminer en 2h ça m'étonnerait !!! ;-) Je ne suis pas pro. et j'ai un mal fou avec le PHP.
Si tu as un tout petit peu de temps, peux-tu, STP, juste me dire comment tu aborderais les choses. Je vois bien des menus déroulants pour une recherche simple mais pas pour une recherche complexe, il me semble que les menus déroulants vont m'embrouiller ??? Merci.
Evelyne
- AnalyseSI : http://img834.imageshack.us/img834/2387/mcd20130304.png
- Workbench : http://img443.imageshack.us/img443/3320/lithothequewb05032013.png
Je travaille toujours avec les 2, chacun a ses avantages.
Ca fait un semaine que je suis sur ce formulaire de recherche, alors le terminer en 2h ça m'étonnerait !!! ;-) Je ne suis pas pro. et j'ai un mal fou avec le PHP.
Si tu as un tout petit peu de temps, peux-tu, STP, juste me dire comment tu aborderais les choses. Je vois bien des menus déroulants pour une recherche simple mais pas pour une recherche complexe, il me semble que les menus déroulants vont m'embrouiller ??? Merci.
Evelyne
Quand tu parles de menu déroulants c'est des listes déroualnte simple ?
Bon c'est vrai que 2h je minimise peut-être le truc. Surtout après avoir vu tes MCD ^^ je m'attendais vrm pas a ça.
Juste une petite question a par atuelement je suis en cours donc un peu bloquer pour regarder tes code et te chercher des solutions claire et précise mais se soir vers 17h je serai de retour chez moi donc a se moment je veux bien te faire une explication complète.
Donc je ne sais pas si tu fais cela dans le cadre du privé ou si tu fait cela au travaille
Bon c'est vrai que 2h je minimise peut-être le truc. Surtout après avoir vu tes MCD ^^ je m'attendais vrm pas a ça.
Juste une petite question a par atuelement je suis en cours donc un peu bloquer pour regarder tes code et te chercher des solutions claire et précise mais se soir vers 17h je serai de retour chez moi donc a se moment je veux bien te faire une explication complète.
Donc je ne sais pas si tu fais cela dans le cadre du privé ou si tu fait cela au travaille
Sur le formulaire de recherche, pour le moment, j'ai un déroulant simple avec 4 possibilités :
- type de recherche : par n° de département,
- type de recherche : par nom de commune,
- type de recherche : par nature de roche,
- type de recherche : par étage géologique.
Ensuite il y a une petite zone de texte où l'utilisateur tape le terme recherché.
Mais, si tu me conseilles de mettre des menus déroulants, je peux mettre un déroulant imbriqué pour Pays/Département/Commune car j'ai le code tout prêt, je l'ai utilisé dans un formulaire d'insertion de gîtes dans la bdd.
Par contre pour les roches et les étages ce sont des déroulants simples.
Je ne veux surtout pas te distraire pendant tes cours. Je fais ce site dans le cadre de mon travail. Je suis en reconversion depuis 1 an 1/2 mais je n'ai eu aucune formation.
Je galère beaucoup mais ça me passionne. Je m'appuie beaucoup sur les forums dont je trouve l'esprit très sympa.
Très loin de moi l'idée de faire faire mon boulot à d'autres. Je cherche juste des conseils, une façon de faire car c'est vraiment ce qui me manque : la façon de raisonner en informaticien, de concevoir clairement et simplement.
Là je reprends tes conseils et j'essaie de faire quelque chose qui tienne la route. Encore un très grand merci. Je te tiens au courant ce soir d'où j'en suis.
Bon cours et très bonne journée,
Evelyne
- type de recherche : par n° de département,
- type de recherche : par nom de commune,
- type de recherche : par nature de roche,
- type de recherche : par étage géologique.
Ensuite il y a une petite zone de texte où l'utilisateur tape le terme recherché.
Mais, si tu me conseilles de mettre des menus déroulants, je peux mettre un déroulant imbriqué pour Pays/Département/Commune car j'ai le code tout prêt, je l'ai utilisé dans un formulaire d'insertion de gîtes dans la bdd.
Par contre pour les roches et les étages ce sont des déroulants simples.
Je ne veux surtout pas te distraire pendant tes cours. Je fais ce site dans le cadre de mon travail. Je suis en reconversion depuis 1 an 1/2 mais je n'ai eu aucune formation.
Je galère beaucoup mais ça me passionne. Je m'appuie beaucoup sur les forums dont je trouve l'esprit très sympa.
Très loin de moi l'idée de faire faire mon boulot à d'autres. Je cherche juste des conseils, une façon de faire car c'est vraiment ce qui me manque : la façon de raisonner en informaticien, de concevoir clairement et simplement.
Là je reprends tes conseils et j'essaie de faire quelque chose qui tienne la route. Encore un très grand merci. Je te tiens au courant ce soir d'où j'en suis.
Bon cours et très bonne journée,
Evelyne