cs_lepetitcod
Messages postés4Date d'inscriptionlundi 28 mai 2007StatutMembreDernière intervention 3 juin 2008
-
3 juin 2008 à 10:53
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 2009
-
3 juin 2008 à 12:48
Bonjour a tous ,
j'aurais voulu avoir votre avis sur un petit probleme que je rencontre
depuis quelques jours avec mon propre code : le but de ma recherche est
de m'afficher une liste de spot de kitesurf selon 3 criteres apparement
les 2 premiers sont pris en compte mais le 3eme reste muet mais un
autre soucis apparais lors de l'affichage .
en effet mes resultats sont repetes (4 fois ou plus )ce qui rend la liste de resultats extremement longue .
voici mon code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
if(isset($_POST['envoyer'])) $envoyer=$_POST['envoyer'];
else $envoyer="";
if ($zone_fr=="" && $niveau=="" && $vent_opt=="")
{echo
"<center>Veuillez
remplir au moins un champ!!</center>";}
elseif($envoyer=='Recherche ')
{
$sql
= "SELECT DISTINCT
zone.zone_fr,zone.spot,zone.ID_spot,session.sess_type,session.niveau,session.vent_opt
FROM zone,info,session WHERE zone.ID_spot = info.ID_spot and
zone.zone_fr like '%$zone_fr%' and session.niveau like '%$niveau%' and
session.vent_opt like '%$vent_opt%'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$result="0";
//Test du résultat
while($data = mysql_fetch_assoc($req)){$result="1";}
//Affichage des données.
if ($result=="0"){
echo"<center>Aucun enregistement retourné
...</center>
";
}
else{
//affichage des données
echo'';
echo'----
';
echo'<center>zone</center>,
<center>spot</center>,
<center>niveau</center>, <center>type
de
session</center>, <center>Numeros</center>, <center>Détails</center>, ';
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 3 juin 2008 à 12:48
Bonjour
Déjà pour ça
//Test du résultat
while($data = mysql_fetch_assoc($req)){$result="1";}
//Affichage des données.
if ($result=="0"){
echo"<center>Aucun enregistement retourné
...</center>
";
}
Il aurait été plus judicieux de faire tes tests avec mysql_num_rows() parce que la ça bouffe énormément de ressource pour rien...
Par rapport aux données en double quand tu construit une requete multitable il faut faire les liens entre les clés primares et clés étrangères
Exemple
Table1
primary1 PK int
champs1,
champs2
Table2
primary2 PK int,
champs11,
champs21,
primary1 FK
select * from table1 t1, table2 t2 where t1.primary1=t2.primary1 and.....
<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)