Bonjour à tous,
Voilà, pour un portail immobilier, j'ai ma page d'accueil qui permet de sélectionner une région sur une carte de France et de trouver toutes les annonces dans la région. Ma page où s'affiche les résultats s'appelle traitementregion.php
Or dans cette page, j'aimerai y inclure la partie recherche (c'est une bande juste en-dessous du header).
Je peux inclure sans problème le header, mais pas la partie recherche (listes déroulantes en ajax). En effet, j'ai des erreurs :
Warning: mysql_query(): Access denied for user: 'apache@localhost' (Using password: NO) in
/home/httpd/vhosts/immova.fr/httpdocs/traitementregion.php on line
49Warning: mysql_query(): A link to the server could not be established in
/home/httpd/vhosts/immova.fr/httpdocs/traitementregion.php on line
49Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
/home/httpd/vhosts/immova.fr/httpdocs/traitementregion.php on line
51Je vous donne le fichier en question :
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<?php
include_once("connexion/mysql.inc.php");
?>
<head>
<title>Résultats de la recherche</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<link rel="stylesheet" href="styles_general.css">
<!-- CSS adapté au navigateur. Si IE, on applique le styles_ie.css, sinon le styles_general.css -->
<!--[if IE]>
<link rel="stylesheet" href="styles_ie.css">
<![endif]-->
<div class="conteneurtrait">
<div id="header">
<div id="annonceur_ban"> <!-- include à placer ici --> </div>
<div id="onglets">
<a href="dernann.php"><input type="image" value="dernann" src="img/dnG.png"></a>
<a href="ajout.php"><input type="image" value="ajout" src="img/aaG.png"></a>
<a href="gerer.php"><input type="image" value="gerer" src="img/gaG.png"></a>
<a href="partenaires.php"><input type="image" value="partenaires" src="img/npG.png"></a>
<a href="contact.php"><input type="image" value="contact" src="img/ncG.png"></a>
</div>
</div>
<!-- page recherche.php -->
<div id="recherche">
<?php
include('recherche230409.php');
?>
</div>
<?php
if(isset($_GET['reg'])) {
$requete=mysql_query("SELECT ann_titre,ann_prix,ann_description, ann_photo FROM annonce,region,departement,ville where ann_no_ville=vil_no_ville and dep_no_dept=vil_no_dept and dep_no_region=reg_no_region and reg_no_region='" . $_GET['reg'] . "'");
while($donnees=mysql_fetch_array($requete))
{
?>
<div class="annonces">
<!-- <div class="annonceur_droite"> include à placer ici </div> -->
<div class="bordhaut">
<?php echo $donnees['ann_titre']; ?>
<div class="prix">
Prix : <?php echo $donnees['ann_prix']; ?> ¤
</div>
</div>
<div class="infos">
<?php echo $donnees['ann_description']; ?>
</div>
<div class="photo">
<img src="photos/<?php echo $donnees['ann_photo']; ?>" width="164px" height="103px">
</div>
</div>
<?php
}
}
?>
</div>
[/code]
et voici mon fichier recherche.php
[code]
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Recherche</title>
<link rel="stylesheet" href="styles_general.css">
<!-- CSS adapté au navigateur. Si IE, on applique le styles_ie, sinon le styles_general -->
<!--[if IE]>
<link rel="stylesheet" href="styles_ie.css">
<![endif]-->
<script type='text/javascript'>
/* Fonction en AJAX qui permet de savoir quel navigateur est utilisé et qui teste si le navigateur supporte le xml */
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Pour les navigateurs type firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Pour les navigateurs Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
/* Fonction en AJAX qui permet d'afficher la liste des départements appartenant à une région */
function goAfficheDept(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function()
{
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options à la liste
document.getElementById('divlistedep').innerHTML = leselect;
}
}
xhr.open("POST","ajax_departement.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
id_region = document.getElementById('listeregion').value;
xhr.send("id_region="+id_region);
}
/* Fonction permettant d'afficher la liste des villes appartenant à un département */
function goAfficheVille() {
var xhr = getXhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
leselect = xhr.responseText;
document.getElementById('divlisteville').innerHTML = leselect;
}
}
xhr.open("POST","ajax_ville.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
id_dep = document.getElementById('listedep').value;
xhr.send("id_dep="+id_dep);
}
/* Fonction en AJAX qui permet d'afficher la liste des batiments associés à un type de recherche */
function goAfficheBat(){
var xhr = getXhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
leselect = xhr.responseText;
document.getElementById('divlistebat').innerHTML = leselect;
}
}
xhr.open("POST","ajax_batiment.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
id_type = document.getElementById('listetype').value;
xhr.send("id_type="+id_type);
}
/* Fonction en AJAX qui permet d'afficher la liste des régions d'un pays */
function goAfficheRegion(){
var xhr = getXhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
leselect = xhr.responseText;
document.getElementById('divlistereg').innerHTML = leselect;
if (document.getElementById('listepays').value != 1)
{
document.getElementById('listeregion').value=0;
document.getElementById('listedep').value=0;
document.getElementById('listeville').value=0;
document.getElementById('listeregion').disabled=true;
document.getElementById('listedep').disabled=true;
document.getElementById('listeville').disabled=true;
}
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajax_region.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
id_pays = document.getElementById('listepays').value;
xhr.send("id_pays="+id_pays);
}
</script>
</head>
<?php
/* Requête SQL permettant de choisir tous les types possibles */
$rqSql1 = "SELECT typ_no_type , typ_nom_type FROM type_annonce";
$result1 = mysql_query( $rqSql1, $connect) or die( "Exécution requête impossible.");
$ld1 = "<SELECT NAME='listetype' id='listetype' style='width:200px;height:22px;' onChange='goAfficheBat();'>";
$ld1 .= "<OPTION VALUE=0 selected>Type de recherche</OPTION>";
/* On boucle sur la table */
while ( $row = mysql_fetch_array( $result1)) {
$no_type = $row["typ_no_type"];
$nom_type = $row["typ_nom_type"];
$ld1 .= "<OPTION VALUE='$no_type'>$nom_type</OPTION>";
}
$ld1 .= "</SELECT>";
$ld2 = "<div id='divlistedep' style='display:inline'>";
$ld2 .= "<SELECT NAME='listedep' id='listedep' style='width:200px;height:22px;'>";
$ld2 .= "<OPTION VALUE=0 selected>Département</OPTION>";
$ld2 .= "</SELECT>";
$ld2 .= "</div>";
$ld3 = "<div id='divlistebat' style='display:inline'>";
$ld3 .= "<SELECT NAME='listebat' id='listebat' style='width:200px;height:22px;'>";
$ld3 .= "<OPTION VALUE=0 selected>Bâtiment</OPTION>";
$ld3 .= "</SELECT>";
$ld3 .= "</div>";
/* Requête SQL permettant de choisir toutes les tranches de prix */
$rqSql4 = "SELECT prix_id_prix , prix_tranche_prix FROM prix";
$result4 = mysql_query( $rqSql4, $connect) or die( "Exécution requête impossible.");
$ld4 = "<SELECT NAME='listeprix' id='listeprix' style='width:200px;height:22px;'>";
$ld4 .= "<OPTION VALUE=0 selected>Budget</OPTION>";
// On boucle sur la table
while ( $row = mysql_fetch_array( $result4)) {
$id_prix = $row["prix_id_prix"];
$tranche_prix = $row["prix_tranche_prix"];
$ld4 .= "<OPTION VALUE='$id_prix'>$tranche_prix</OPTION>";
}
$ld4 .= "</SELECT>";
/* Requête SQL permettant de choisir tous les pays */
$rqSql5 = "SELECT pays_no_pays , pays_nom_pays FROM pays";
$result5 = mysql_query( $rqSql5, $connect) or die( "Exécution requête impossible.");
$ld5 = "<SELECT NAME='listepays' id='listepays' style='width:200px;height:22px;' onChange='goAfficheRegion();'>";
$ld5 .= "<OPTION VALUE=0 selected>Pays</OPTION>";
while ( $row = mysql_fetch_array( $result5)) {
$no_pays = $row["pays_no_pays"];
$nom_pays = $row["pays_nom_pays"];
$ld5 .= "<OPTION VALUE='$no_pays'>$nom_pays</OPTION>";
}
$ld5 .= "</SELECT>";
/* Requête SQL permettant de choisir toutes les régions */
$rqSql6 = "SELECT reg_no_region , reg_nom_region FROM region";
$result6 = mysql_query( $rqSql6, $connect) or die( "Exécution requête impossible.");
$ld6 = "<div id='divlistereg' style='display:inline'>";
$ld6 .= "<SELECT NAME='listeregion' id='listeregion' style='width:200px;height:22px; 'onChange='goAfficheDept();'>";
$ld6 .= "<OPTION VALUE=0 selected>Région</OPTION>";
$ld6 .= "</SELECT>";
$ld6 .= "</div>";
$ld7 = "<div id='divlisteville' style='display:inline'>";
$ld7 .= "<SELECT NAME='listeville' id='listeville' style='width:200px;height:22px;' onChange='goAfficheVille();'>";
$ld7 .= "<OPTION VALUE=0 selected>Ville</OPTION>";
$ld7 .= "</SELECT>";
$ld7 .="</div>";
mysql_close();
?>
<script>
function motCleReset()
{
if (document.getElementById("mot").value=="Mots clé, référence, ...")
{
document.getElementById("mot").value="";
}
}
</script>
<form method="post" action="traitement.php" name="recherche">
<table border=0 cellpadding=10>
<tr>
<td>
<input name="mot" id="mot" type="text" value="Mots clé, référence, ..." onClick="motCleReset();" style="width:195px;height:16px">
</td>
<td><?php
/* Liste déroulante du type de recherche */
print $ld1;
?></td>
<td>
<?php
/* Liste déroulante du type de bien */
print $ld3;
?>
</td>
<td>
<?php
/* Liste déroulante du budget */
print $ld4;
?></td>
</tr>
<tr>
<td>
<?php
/* Liste déroulante du pays */
print $ld5;
?></td>
<td><?php
/* Liste déroulante de la région */
print $ld6;
?>
</td>
<td>
<?php
/* Liste déroulante du département */
print $ld2;
?>
</td>
<td>
<?php
/* Liste déroulante de la ville */
print $ld7;
?>
</td>
</tr></table>
<input type="image" value="Rechercher" src="img/rech.png">
</form>
</html>
[/code]
Merci de votre aide