='".$_POST["datemin"]."' AND DateMax<='".$_POST["datemax"]."';"; $result=mysql_query($req,$link); $a=mysql_num_rows($result); settype($tab_date,'array'); for($i=0;$i<$a;$i++) {$tab_date[$i]=mysql_result($result,$i);} mysql_free_result($result); } else $tab_date=$tabresult_max; ////RECHERCHE PAR CREDIT PHOTOGRAPHIQUE///////////////////////////////////////////////////////////////////////////////////////////////// if ($_POST["droits"]!='') {if ($critere1!='') {if ($critere2!='') {if ($critere3!='') {if ($critere4!='') {if ($critere5!='') {$critere6=$_POST["droits"];} else $critere5=$_POST["droits"];} else $critere4=$_POST["droits"];} else $critere3=$_POST["droits"];} else $critere2=$_POST["droits"];} else $critere1=$_POST["droits"]; $nbrecriteres=$nbrecriteres+1; $type=droits; //Si une série a été sélectionnée dans le menu déroulant, on la récupère grâce à $_POST $source="détenteur des droits de reproduction"; $mots=$_POST["droits"]; //On récupère dans la table de recherche les numéros des notices correspondant à des images qui sont l'oeuvre de cet artiste //Ces numéros sont stockés dans le champ resultnum de la table recherche $req="SELECT resultnum FROM recherche WHERE type='droits' AND intitule='$mots';"; $result=mysql_query($req,$link); $tabresult=mysql_fetch_array($result); $resultnum=$tabresult[0]; //$resultnum est une chaîne de caractères permettant de stocker une liste de notices. Elle est du type N°1-N°2-N°3-...etc-end. //On transforme maintenant la chaîne $resultnum en tableau $taille=substr_count($resultnum,'-'); $longueur=strpos($resultnum,'-'); settype($tab_droits,'array'); for($k=0;$k<$taille;$k++) { $position=$k*($longueur+strlen('-')); $tab_droits[]=substr($resultnum,$position,$longueur); } mysql_free_result($result); } else $tab_droits=$tabresult_max; ////RECHERCHE PAR SOURCE TEXTUELLE////////////////////////////////////////////////////////////////////////////////////////////////////////// if ($_POST["source"]!='') {if ($critere1!='') {if ($critere2!='') {if ($critere3!='') {if ($critere4!='') {if ($critere5!='') {$critere6=$_POST["source"];} else $critere5=$_POST["source"];} else $critere4=$_POST["source"];} else $critere3=$_POST["source"];} else $critere2=$_POST["source"];} else $critere1=$_POST["source"]; $nbrecriteres=$nbrecriteres+1; $type='st'; //Si une série a été sélectionnée dans le menu déroulant, on la récupère grâce à $_POST $source="source textuelle"; $mots=$_POST["source"]; //On récupère dans la table de recherche les numéros des notices correspondant à des images qui sont l'oeuvre de cet artiste //Ces numéros sont stockés dans le champ resultnum de la table recherche $req="SELECT resultnum FROM recherche WHERE type='source' AND intitule='$mots';"; $result=mysql_query($req,$link); $tabresult=mysql_fetch_array($result); $resultnum=$tabresult[0]; //$resultnum est une chaîne de caractères permettant de stocker une liste de notices. Elle est du type N°1-N°2-N°3-...etc-end. //On transforme maintenant la chaîne $resultnum en tableau $taille=substr_count($resultnum,'-'); $longueur=strpos($resultnum,'-'); settype($tab_source,'array'); for($k=0;$k<$taille;$k++) { $position=$k*($longueur+strlen('-')); $tab_source[]=substr($resultnum,$position,$longueur); } mysql_free_result($result); } else $tab_source=$tabresult_max; ////RECHERCHE PAR REFERENCE BIBLIOGRAPHIQUE/////////////////////////////////////////////////////////////////////////////////////////////// if ($_POST["biblio"]!='') {if ($critere1!='') {if ($critere2!='') {if ($critere3!='') {if ($critere4!='') {if ($critere5!='') {$critere6=$_POST["biblio"];} else $critere5=$_POST["biblio"];} else $critere4=$_POST["biblio"];} else $critere3=$_POST["biblio"];} else $critere2=$_POST["biblio"];} else $critere1=$_POST["biblio"]; $nbrecriteres=$nbrecriteres+1; $type='bibli'; //Si une série a été sélectionnée dans le menu déroulant, on la récupère grâce à $_POST $source="référence bibliographique"; $mots=$_POST["biblio"]; //On récupère dans la table de recherche les numéros des notices correspondant à des images qui sont l'oeuvre de cet artiste //Ces numéros sont stockés dans le champ resultnum de la table recherche $req="SELECT resultnum FROM recherche WHERE type='biblio' AND intitule='$mots';"; $result=mysql_query($req,$link); $tabresult=mysql_fetch_array($result); $resultnum=$tabresult[0]; //$resultnum est une chaîne de caractères permettant de stocker une liste de notices. Elle est du type N°1-N°2-N°3-...etc-end. //On transforme maintenant la chaîne $resultnum en tableau $taille=substr_count($resultnum,'-'); $longueur=strpos($resultnum,'-'); settype($tab_biblio,'array'); for($k=0;$k<$taille;$k++) { $position=$k*($longueur+strlen('-')); $tab_biblio[]=substr($resultnum,$position,$longueur); } mysql_free_result($result); } else $tab_biblio=$tabresult_max; ////RECHERCHE PAR OBJET////////////////////////////////////////////////////////////////////////////////////////////////////////// if ($_POST["objet"]!='') {if ($critere1!='') {if ($critere2!='') {if ($critere3!='') {if ($critere4!='') {if ($critere5!='') {$critere6=$_POST["objet"];} else $critere5=$_POST["objet"];} else $critere4=$_POST["objet"];} else $critere3=$_POST["objet"];} else $critere2=$_POST["objet"];} else $critere1=$_POST["objet"]; $nbrecriteres=$nbrecriteres+1; $type='obj'; //Si une série a été sélectionnée dans le menu déroulant, on la récupère grâce à $_POST $source="objet indexé dans l’image"; $mots=$_POST["objet"]; //On récupère dans la table de recherche les numéros des notices correspondant à des images qui sont l'oeuvre de cet artiste //Ces numéros sont stockés dans le champ resultnum de la table recherche $req="SELECT resultnum FROM recherche WHERE type='objet' AND intitule='$mots';"; $result=mysql_query($req,$link); $tabresult=mysql_fetch_array($result); $resultnum=$tabresult[0]; //$resultnum est une chaîne de caractères permettant de stocker une liste de notices. Elle est du type N°1-N°2-N°3-...etc-end. //On transforme maintenant la chaîne $resultnum en tableau $taille=substr_count($resultnum,'-'); $longueur=strpos($resultnum,'-'); settype($tab_objet,'array'); for($k=0;$k<$taille;$k++) { $position=$k*($longueur+strlen('-')); $tab_objet[]=substr($resultnum,$position,$longueur); } mysql_free_result($result); } else $tab_objet=$tabresult_max; $tab_intersect=array_intersect($tab_auteur, $tab_serie, $tab_nature, $tab_sujet, $tab_dispositif, $tab_lieu, $tab_recherche, $tab_droits, $tab_source, $tab_biblio, $tab_objet, $tab_date); //il faut ensuite renuméroter les lignes de 0 à $taille $tab_intersect=array_values($tab_intersect); //On recrée $resultnum pour le passage éventuel de Resultats.php à ResultRechAffiche.php (en cas de plus de 20 notices trouvées) $resultnum=''; foreach($tab_intersect as $item) $resultnum.=$item.'-'; ?>
" > " > " > " > " > " > " > " > " > " > " > Adresse complète de cette page
~ Vous avez croisé $nbrecriteres critères de recherche ~

Recherche infructueuse

"; else { if ($taille==1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Une notice trouvée

1. ".$critere1."
2. ".$critere2.""; else echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

$taille notices trouvées

1. ".$critere1."
2. ".$critere2.""; } break; case '1' : if ($taille<1) echo "

~ Recherche par ".$source." ~
".$mots."
Recherche infructueuse

"; else { if ($taille>1) echo "

~ Recherche par ".$source." ~
".$mots."
$taille notices trouvées

"; else echo "

~ Recherche par ".$source." ~
".$mots."
Une notice trouvée

"; } break; case '3' : if ($taille<1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Recherche infructueuse

"; else { if ($taille==1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Une notice trouvée

1. ".$critere1."
2. ".$critere2."
3. ".$critere3.""; else echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

$taille notices trouvées

1. ".$critere1."
2. ".$critere2."
3. ".$critere2.""; } break; case '4' : if ($taille<1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Recherche infructueuse

"; else { if ($taille==1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Une notice trouvée

1. ".$critere1."
2. ".$critere2."
3. ".$critere3."
4. ".$critere4.""; else echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

$taille notices trouvées

1. ".$critere1."
2. ".$critere2."
3. ".$critere2."
4. ".$critere4.""; } break; case '5' : if ($taille<1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Recherche infructueuse

"; else { if ($taille==1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Une notice trouvée

1. ".$critere1."
2. ".$critere2."
3. ".$critere3."
4. ".$critere4."
5. ".$critere5.""; else echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

$taille notices trouvées

1. ".$critere1."
2. ".$critere2."
3. ".$critere2."
4. ".$critere4."
5. ".$critere5.""; } break; case '6' : if ($taille<1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Recherche infructueuse

"; else { if ($taille==1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Une notice trouvée

1. ".$critere1."
2. ".$critere2."
3. ".$critere3."
4. ".$critere4."
5. ".$critere5."
6. ".$critere6.""; else echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

$taille notices trouvées

1. ".$critere1."
2. ".$critere2."
3. ".$critere2."
4. ".$critere4."
5. ".$critere5."
6. ".$critere6.""; } break; } if ($nbrecriteres>6) {if ($taille<1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Recherche infructueuse

"; else { if ($taille==1) echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

Une notice trouvée

1. ".$critere1."
2. ".$critere2."
3. ".$critere3."
4. ".$critere4."
5. ".$critere5."
6. ".$critere6."
".($nbrecriteres-6)." autre(s) critère(s)"; else echo "

~ Vous avez croisé $nbrecriteres critères de recherche ~

$taille notices trouvées

1. ".$critere1."
2. ".$critere2."
3. ".$critere2."
4. ".$critere4."
5. ".$critere5."
6. ".$critere6."
".($nbrecriteres-6)." autre(s) critère(s)"; } } echo"
"; if($taille<=20) //Si $taille, le nombre des notices est inférieur ou égal à $taillemax //le nombre maximal de notices autorisées pour l'affichage sur une seule page { for($i=0;$i<$taille;$i++) { $NumNotice=$tab_intersect[$i]; $req="Select * from notices where NumNotice='$NumNotice';"; $result=mysql_query($req,$link); $ligneresult=mysql_fetch_array($result); $auteur1=$ligneresult[2]; $intitule=$ligneresult[32]; $DateMin=$ligneresult[5]; $DateMax=$ligneresult[6]; //Affichage de la liste des notices avec leurs vignettes //On calcule le numéro du dossier où se trouve l'image. Chaque dossier contient mille images. //On retire d'abord la lettre du numéro de notice, puis on le divise par mille avec //la fonction bcdiv qui, par défaut, s'arrête avant la virgule. Mai2007 : Montpellier ne reconnaît plus bcdiv. //Je tourne donc par floor pour arrondir à l'inférieur et / pour diviser. $Numero=substr($NumNotice, 1); $LettreDossier=substr($NumNotice, 0, 1); $NumDossier=floor($Numero/1000); ?>"; } } else //Sinon, limitation du nombre de notices affichées { ?>Utpictura18 limite l’affichage des résultats aux vingt premières notices.
Affichage des notices 1 à 20.
Affiner la recherche en ajoutant un second critère.
Afficher les notices par : 10, 20, 30, 50.
40) $nbre=20; else $nbre=$taille-20; ?> Les notices suivantes    "; mysql_free_result($result); } } ?>
//.jpg>

"; else echo " $DateMin
" ; } echo "Notice n° $NumNotice
//.jpg>

"; else echo " $DateMin
" ; } echo "Notice n° $NumNotice