Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/07/2006, 17h56   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1
Points : 0
Points : 0
Par défaut [SQL] Classement et moteur de recherche PHP

Bonjour

JE fais des essais pour faire une base de données avec des relevés de généalogie. Pour le moment je n'ai mis sur ma base sql qu'un tout petit extrait pour faire des essais. MOn souci est le suivant :

La base (enfin l'extrait de base plutôt) s'affiche correctement. La page php est donc bien connectée au serveur mysql. Lorsque on clique sur afficher la page complète cela fonctionne. Par contre le moteur de recherche ne fonctionne pas (aucune réaction, aucun message d'erreur !) et le classement non plus (dans le cas du classement le message d'erreur n'apparaît plus). L'URL de la page est <http://agfbl.free.fr/caubel/affichage3.php>;
Et voilà le code complet de la page HTML-PHP :

<html>
<head>
<title>Relev&eacute;s Saint Pierre de Caubel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
background-image: url(fond.jpg);
}
.Style2 {color: #000099}
.Style3 {font-size: 12px}
.Style4 {font-size: 16px}
.Style5 {font-size: 16}
.Style6 {font-size: 18px}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>

<body bgcolor="#ECECFF">
<?php

$req_sql="SELECT * FROM releves_caubel WHERE nom LIKE '%$recherche_nom%'";

settype($recherche_nom,"string");
settype($choix,"string");

if(isset($_GET["recherche_nom"])){

$recherche_nom=$_GET["recherche_nom"];

$recherche_nom=htmlentities($recherche_nom);

$recherche_nom=addslashes($recherche_nom);

if($recherche_nom != ""){



}
}

if(isset($_GET["choix"])){

$choix=$_GET["choix"];

switch($choix){

case "alpha" : $req_sql = "SELECT * FROM releves_caubel ORDER by nom"; break;

case "croi" : $req_sql = "SELECT * FROM releves_caubel ORDER by num ASC"; break;

case "decroi" : $req_sql = "SELECT * FROM releves_caubel ORDER by num DESC"; break;
}
}

$db= mysql_connect('sql.free.fr','****','****') or die ("erreur de connexion");
mysql_select_db('****',$db) or die ("erreur de connexion base");

$req_sql = "SELECT * from releves_caubel Order by num Asc";
$req = mysql_query($req_sql);
?>

<p align="center"><SPAN class=Style2><EM><STRONG><span class="Style3"><span class="Style4"><span class="Style5"><span class="Style6"><FONT
face="Georgia, Times New Roman, Times, serif">Saint Pierre de Caubel (47) <br>
Naissances, mariages, d&eacute;c&egrave;s</FONT><FONT
face="Geneva, Arial, Helvetica, sans-serif"><BR>
<FONT
face="Georgia, Times New Roman, Times, serif">R</FONT><FONT
face="Georgia, Times New Roman, Times, serif">elev&eacute; &eacute;tabli &agrave; partir des microfilms des Mormons</FONT></FONT><FONT
face="Geneva, Arial, Helvetica, sans-serif"></FONT></span></span></span></span></STRONG></EM></SPAN></p>
<p align="center"></strong>
</p>
<table width="99%" border="0" align="center">
<tr>
<td width="48%"><p align="center">Effectuer un classement par :
<form name="form1">
<div align="center">
<select name="classement" id="classement" onChange="MM_jumpMenu('parent',this,0)">
<option value="">...
<option value="affichage3.php?choix=alpha">Ordre alphab&eacute;tique
des noms
<option value="affichage3.php?choix=croi">Ordre croissant des enregistrements
<option value="affichage3.php?choix=decroi">Ordre d&eacute;croissant
des enregistrements
</select>
</div>
</form></td>
<td width="52%"><p align="center">Effectuer une recherche par le patronyme:</p>
<form action="affichage3.php" method="get" name="recherche" id="recherche">
<div align="center">
<p>
<input name="recherche_nom" type="text" id="recherche_nom" size="50">
<input type="submit" name="Submit" value="Rechercher">
</p>
</div>
</form></p></td>
</tr>
</table>
<table width="100%" border="0" align="center">
<tr>
<td><div align="center">
<form action="affichage3.php?choix=alpha" method="get" name="form2">
<input type="submit" name="Submit2" value="Afficher la base compl&egrave;te">
</form>
</div></td>
</tr>
</table></p>
<p align="center">
</p>
<div align="center">
<table width="127%" border="1">
<tr>
<td width="4%"><div align="center"><strong>N&deg;</strong></div></td>
<td width="4%"><div align="center"><strong>Sosa</strong></div></td>
<td width="7%"><div align="center"><strong>Nom</strong></div></td>
<td width="7%"><div align="center"><strong>Pr&eacute;nom</strong></div></td>
<td width="8%"><div align="center"><strong>Profession</strong></div></td>
<td width="8%"><div align="center"><strong>Date de naissance</strong></div></td>
<td width="11%"><div align="center"><strong>Lieu de naissance</strong></div></td>
<td width="8%"><div align="center"><strong>Date de d&eacute;c&egrave;s</strong></div></td>
<td width="12%"><div align="center"><strong>Lieu de d&eacute;c&egrave;s</strong></div></td>
<td width="6%"><div align="center"><strong>P&egrave;re</strong></div></td>
<td width="5%"><div align="center"><strong>M&egrave;re</strong></div></td>
<td width="6%"><div align="center"><strong>Conjoint</strong></div></td>
<td width="8%"><div align="center"><strong>Date de naissance conjoint</strong></div></td>
<td width="6%"><div align="center"><strong>Date de d&eacute;c&egrave;s conjoint</strong></div></td>
</tr>

<?php
while ($rs=mysql_fetch_array($req)){
?>

<tr>
<td><?php echo $rs["num"]?>&nbsp;</td>
<td><?php echo $rs["sosa"] ?>&nbsp;</td>
<td><?php echo $rs["nom"] ?>&nbsp;</td>
<td><?php echo $rs["prenom"] ?>&nbsp;</td>
<td><?php echo $rs["profession"] ?>&nbsp;</td>
<td><?php echo $rs["date_naissance"] ?>&nbsp;</td>
<td><?php echo $rs["lieu_naissance"] ?>&nbsp;</td>
<td><?php echo $rs["date_deces"] ?>&nbsp;</td>
<td><?php echo $rs["lieu_deces"] ?>&nbsp;</td>
<td><?php echo $rs["pere"] ?>&nbsp;</td>
<td><?php echo $rs["mere"] ?>&nbsp;</td>
<td><?php echo $rs["conjoint"] ?>&nbsp;</td>
<td><?php echo $rs["date_naissance_conjoint"] ?>&nbsp;</td>
<td><?php echo $rs["lieu_naissance_conjoint"] ?>&nbsp;</td>
</tr>
<?php
}
?>

</table>
<p><br>
<br>
<?php
mysql_close($db);
?>
</p>
</div>
<p><FONT size=4>Relev&eacute; et saisie informatique : Nicole Bourr&eacute;e<BR>
R&eacute;alisation de l'interface : Fabrice Bourr&eacute;e</FONT>
</body>
</html>

MErci d'avance à tous pour votre aide
fabrice78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2006, 11h21   #2
Membre du Club
 
Inscription : juin 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 46
Points : 43
Points : 43
Bonjour
Déjà pense à utiliser la balise CODE # c'est plus facile à lire.
Un début de correction:
Code :
1
2
 
<form name="form1">
il manque l'action du formulaire:
Code :
1
2
 
<form Method="GET" action="<?=$_SERVER['PHP_SELF']?>">
En fait non ... y a au moins 2 formulaires...pourquoi?
Ensuite le Php je le commencerais comme ça:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
if(isset($_GET["recherche_nom"])){
$req_sql="SELECT * FROM releves_caubel WHERE nom LIKE '%htmlentities(addslashes($_GET["recherche_nom"]))%'";
}
if(isset($_GET["choix"])AND($_GET["choix"])!=""){
switch($choix){
case "alpha" : $order = " ORDER by nom"; break;
case "croi" : $order = " ORDER by num ASC"; break;
case "decroi" : $order = " ORDER by num DESC"; break;
}
}
$req_sql=$req_sql.$order
$db= mysql_connect('sql.free.fr','****','****') or die ("erreur de connexion");
mysql_select_db('****',$db) or die ("erreur de connexion base");
$resultatrequete = mysql_query($req_sql);
Pour un début.... il y aura encore surement d'autres trucs à corriger.
Bon courage
__________________
Gaétan
gaetanc15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h29.


 
 
 
 
Partenaires

Hébergement Web