PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : MySQL, PostgreSQL, etc... » recherche multi champ » 16-05-2010 20:01:55

Bonsoir,

je vais chercher dans ce sens.

Je vous tiens au courant.

#2 MySQL, PostgreSQL, etc... » recherche multi champ » 16-05-2010 20:01:55

chris77
Réponses : 4

Bonjour,

Je suis novice en Php et Mysql.
Je dois préparer un site pour une association de généalogie.

Les membres de l'association feront des recherches sur les actes de naissances, mariage et décès. Ils rechercheront soit l'année, soit un nom soit les deux  l'année et le nom.

J'ai mis un bouton radio pour les actes, un de ces 3 boutons doit être obligatoirement coché.

J'ai réussi à faire la recherche par année.

Mais je n'arrive pas à faire la recherche soit par année, soit par nom ou les 2.

Voici des exemples, soit faire une recherche sur l'année 1786, soit sur le nom Dupont et enfin voire s'il existe un Dupont en 1786.

Je pense que mon problème vient de la ligne 32 :$resultn = mysql_query("SELECT * from ".$tablen. " WHERE (annee=) OR (nom LIKE '%) OR ((annee=) AND (nom LIKE '%))".$_GET["an"],$connect), et particulièrement du .$_GET["an"].
lors de la recherche dans mon formulaire j'ai aucune réponse

mais quand j'écris ce code $resultn = mysql_query("SELECT * from ".$tablen." WHERE annee=".$_GET["an"], $connect)
lors de la recherche dans mon formulaire j'ai les réponses correspondantes à l'année, c'est normal.

Je fais mes tests en local avec Wamp et j'écris mon code avec Notepad++

Merci de votre aide

Voici mon code


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
</head>
<body style="font-family: verdana; background-color: rgb(200, 248, 243); font-size: 8pt;">
<p style="font-size: 12pt; font-weight: bold;">
                 Critères de Recherche du dépouillement de l'état civil
<br>
</p>
<form action="index.php" method="get"><br>
<br>

      <input name="acte" checked="checked" value="nai" type="radio">Naissances         
      <input name="acte"  value="mar" type="radio">Mariages         
      <input name="acte"  value="dec" type="radio">Décès        

<br>
<br>
<input name="rch" value="annee" type="checkbox">Année
:<input name="an" value="" type="text"><br>
<br>
<input name="rch" value="nom" type="checkbox">Nom
  
:<input name="no" value="" type="text"><br>
<br>
<br>
                       
<input name="Recherche" value="Lancer la recherche" type="submit"></form>
<?php $adress = "localhost";
$portdb = "3306"; $userdb = "root"; $pssdb = ""; $datab = "agbcr"; $tablen = "naissance";$tablem = "mariage";$tabled = "deces";
$tbl_res = "";

$acte = "";if($_GET["acte"] == "nai") { $connect = mysql_connect($adress,$userdb,'') or die("Erreur de connexion au serveur."); mysql_select_db($datab,$connect) or die ("erreur de connexion base"); $resultn = mysql_query("SELECT * from ".$tablen. " WHERE (annee=) OR (nom LIKE '%) OR ((annee=) AND (nom LIKE '%))".$_GET["an"],$connect);}

else if($_GET["acte"] == "mar"){ $connect = mysql_connect($adress,$userdb,'') or die("Erreur de connexion au serveur."); mysql_select_db($datab,$connect) or die ("erreur de connexion base"); $resultm = mysql_query("SELECT * from ".$tablem." WHERE annee=".$_GET["an"], $connect); }
else if($_GET["acte"] == "dec"){ $connect = mysql_connect($adress,$userdb,'') or die("Erreur de connexion au serveur."); mysql_select_db($datab,$connect) or die ("erreur de connexion base"); $resultd = mysql_query("SELECT * from ".$tabled." WHERE annee=".$_GET["an"], $connect); }
if($resultn){ $i=0; while ( $row = mysql_fetch_array($resultn) ){ if($i % 2 == 0){ $color = "#E8F2FF"; }else{ $color = ""; } $nom = $row[2]; $date = $row[4]; $pere = $row[5]; $mere = $row[6]; $prof = $row[7]; $cote = $row[8]; $photo = $row[9];; $tbl_res .= "<tr style=\"background-color:".$color.";\"><td>".$nom."</td><td>".$date."</td><td>".$pere."</td><td>".$mere."</td><td>".$prof."</td><td>".$cote."</td><td>".$photo."</td></tr>"; $i = $i+1; } mysql_close(); echo "Nombre de résultat trouvé, pour la recherche naissance: ".$i."<br>"; echo ' <table cellspacing="0" cellpadding="2" style="border:0; font-family:verdana; font-size:8pt;"> <tr style="background-color:#CDCDCD;"> <td>nom    </td> <td>date de naissance   </td> <td>père  </td ><td>mère  </td> <td>profession du père  </td> <td>cote  </td> <td>photo  </td> </tr>'.$tbl_res.'</table>'; }
else if($resultm){ $i=0; while ( $row = mysql_fetch_array($resultm) ){ if($i % 2 == 0){ $color = "#E8F2FF"; }else{ $color = ""; } $nom = $row[2]; $date = $row[4]; $pere = $row[5]; $mere = $row[6]; $prof = $row[7]; $cote = $row[8]; $photo = $row[9];; $tbl_res .= "<tr style=\"background-color:".$color.";\"><td>".$nom."</td><td>".$date."</td><td>".$pere."</td><td>".$mere."</td><td>".$prof."</td><td>".$cote."</td><td>".$photo."</td></tr>"; $i = $i+1; } mysql_close(); echo "Nombre de résultat trouvé, pour la recherche mariage: ".$i."<br>"; echo ' <table cellspacing="0" cellpadding="2" style="border:0; font-family:verdana; font-size:8pt;"> <tr style="background-color:#CDCDCD;"> <td>nom    </td> <td>date de naissance   </td> <td>père  </td ><td>mère  </td> <td>profession du père  </td> <td>cote  </td> <td>photo  </td> </tr>'.$tbl_res.'</table>'; }
else if($resultd){ $i=0; while ( $row = mysql_fetch_array($resultd) ){ if($i % 2 == 0){ $color = "#E8F2FF"; }else{ $color = ""; } $nom = $row[2]; $date = $row[4]; $pere = $row[5]; $mere = $row[6]; $prof = $row[7]; $cote = $row[8]; $photo = $row[9];; $tbl_res .= "<tr style=\"background-color:".$color.";\"><td>".$nom."</td><td>".$date."</td><td>".$pere."</td><td>".$mere."</td><td>".$prof."</td><td>".$cote."</td><td>".$photo."</td></tr>"; $i = $i+1; } mysql_close(); echo "Nombre de résultat trouvé, pour la recherche décès:".$i."<br>"; echo ' <table cellspacing="0" cellpadding="2" style="border:0; font-family:verdana; font-size:8pt;"> <tr style="background-color:#CDCDCD;"> <td>nom    </td> <td>date de naissance   </td> <td>père  </td ><td>mère  </td> <td>profession du père  </td> <td>cote  </td> <td>photo  </td> </tr>'.$tbl_res.'</table>'; } ?>

<br>
<br><br>
<br>


</body></html>
 

Pied de page des forums

Propulsé par FluxBB