Transmission numéros par SESSION et requête SQL

Fermé
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 - 25 mars 2013 à 16:16
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 - 27 mars 2013 à 08:17
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 :
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:

23 réponses

g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 08:56
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 ?
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 09:36
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?
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 09:42
Ou même un screen de ton résultat que je puisse comprendre parce que je me suis perdu dans ton code!
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 09:52
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 ).
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 10:38
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 ?
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 10:43
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.
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 10:48
Ton site est en local ou sur le net ?
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 10:58
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?
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 11:11
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é .
1
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
25 mars 2013 à 16:19
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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
25 mars 2013 à 16:28
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 :
// 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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 09:32
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 :
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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 09:48
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 :
<?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">&nbsp;<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']."&nbsp;".$result['codeDepartement']."&nbsp;".$_POST['codeCommune']."&nbsp;".$_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']."&nbsp;".$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']."&nbsp;".$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']."&nbsp;".$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)&nbsp;:</i></td><td>".$cartes['nomCarteBrgm']."&nbsp;".$cartes['numCarteBrgm']."&nbsp;".$cartes['precisionCarteBrgm'],"</td><td><i>Auteur modification : </i><td>".$result['nomModifFicheG'],"</td></tr>";
				
		echo "<tr><td><i>Carte IGN (idem)&nbsp;:</i></td><td>".$cartes['nomCarteIgn']."&nbsp;".$cartes['numCarteIgn']."&nbsp;".$cartes['precisionCarteIgn'],"</td><td><i>Date dernière saisie : </i><td>".$result['dateSaisieFicheG']."</td></tr>";
		
		echo "<tr><td><i>Carte IGN (idem)&nbsp;:</i></td><td>".$cartes['nomCarteIgn']."&nbsp;".$cartes['numCarteIgn']."&nbsp;".$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&nbsp&nbsp</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'] . '">&nbspn°' . $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>&nbsp&nbsp';
	//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">&nbsp;&nbsp;<a href="lith_acces/lith_acces.php">Retour accueil Lithothèque</a></td>

<td><IMG SRC="lith_images/puce_biface.png">&nbsp;&nbsp; <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">&nbsp;&nbsp; <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>
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 10:28
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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 10:43
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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 10:55
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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 11:08
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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 11:24
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
0
g4br13l Messages postés 346 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 11:30
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
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
26 mars 2013 à 11:50
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
0