IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Classement et moteur de recherche PHP


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1
    Points : 1
    Points
    1
    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

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 46
    Points : 52
    Points
    52
    Par défaut
    Bonjour
    Déjà pense à utiliser la balise CODE # c'est plus facile à lire.
    Un début de correction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="form1">
    il manque l'action du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

Discussions similaires

  1. Moteur de recherche PHP - Ajax - Jquery - SQL
    Par visual3d dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/05/2009, 16h45
  2. [MySQL] Moteur de recherche PHP
    Par Invité dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 02/04/2008, 21h23
  3. Moteur de recherche => PHP ou XML ?
    Par caledonien dans le forum Langage
    Réponses: 6
    Dernier message: 09/03/2007, 10h58
  4. [MySQL] Moteur de recherche PHP
    Par bressan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/10/2006, 13h27
  5. Optimiser une requête SQL d'un moteur de recherche
    Par kibodio dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/03/2005, 21h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo