alors voila,
j'ai créé un moteur de recherche pour partitions.
aujourd'hui la base contient 35000 références;pour une recherche si je tombe sur1200 résultats...tout afficher sur une meme page, c'est pas super!
du coup j'aimerai faire un affichage 50, 100, 250 ou 500 résultats pas page.
j'ai regardé pas mal de source et de tutoriaux, mais je n'ai pas réussi à les mettre en place...
quelqu'un peut m'aider? c'est vraiment important et je ne m'en sors pas!
merci d'avance!!!
ps: c'est un probleme si je n'ai pas un ID défini dans ma table?
ma page index.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>moteur recherches</title>
</head>
<body>
<link href="aam_styles.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.Menutext {
FONT-SIZE: 8pt; COLOR: #ffffff; FONT-FAMILY: Verdana,Helvetica,sans-serif
}
.Menutext:link {
COLOR: #ffffff
}
.Menutext:visited {
COLOR: #ffffff
}
.Style1 {color: #DA4A19}
</style>
<form method="post">
<table width="769" border="0">
<tr>
<td><font size="2"><span class="Style1">Auteur<font face="Verdana, Arial, Helvetica, sans-serif"> / Compositeur </font><font face="Verdana, Arial, Helvetica, sans-serif"></font></span></font></td>
<td><span class="Style1"><font size="2">Titre</font></span></td>
<td><span class="Style1"><font size="2">Editeur</font></span></td>
<td><span class="Style1"><font size="2">Instrument / Genre</font></span></td>
<td rowspan="2" valign="bottom">
<input name="submit" type="submit" style="font-size: 12px; position: relative; " value="Rechercher" />
</td>
</tr>
<tr>
<td>
<input type="text" name="auteur" size="40" style="font-size: 12px;" />
</td>
<td>
<input type="text" name="titre" size="40" style="font-size: 12px;" />
</td>
<td>
<input type="text" name="editeur" size="40" style="font-size: 12px;" />
</td>
<td>
<input type="text" name="instrument" size="40" style="font-size: 12px;" />
</td>
</tr>
</table>
</form>
<?php
//on charge le fichier de connexion à la table
include('connexion.php');
//calcule le nbre d'élément de la table
$total_table = mysql_num_rows(mysql_query("SELECT AR_Ref FROM am_parts"));
// si c'est le premier appel de la variable auteur
if(!isset($_POST['auteur']))
{
echo "<br><br><br><center><font face='Arial, Helvetica, sans-serif' size='3' color='#000000'>Bienvenue sur le module de partitions ARPEGES.
<br><br>A ce jour, vous avez accès à
<b> $total_table </b> références de partitions.
<br><br> La recherche peut s'effectuer sur 1 à 4 critères.</center>";
return;
}
//on relie les variables
$auteur = $_POST['auteur'];
$titre= $_POST['titre'];
$editeur= $_POST['editeur'];
$instrument= $_POST['instrument'];
include('selection.php');
switch($selection){
case 1 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE (auteur LIKE '%$auteur%' or AR_design like '%$auteur%') ORDER BY auteur , lien ";
$result = mysql_query ($query);
break;
case 2 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE (auteur LIKE '%$auteur%' or AR_design like '%$auteur%') AND ((titre_francais LIKE '%$titre%' OR titre_version_originale LIKE '%$titre%' )OR AR_design LIKE '%$titre%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 3 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE (auteur LIKE '%$auteur%' or AR_design like '%$auteur%') AND editeur LIKE '%$editeur%' ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 4 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven,AR_Ref,AR_Ref FROM am_parts WHERE (auteur LIKE '%$auteur%' or AR_design like '%$auteur%') AND(instr LIKE '$instrument' OR instr LIKE '$instrument%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 5 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven,AR_Ref,AR_Ref FROM am_parts WHERE (auteur LIKE '%$auteur%' or AR_design like '%$auteur%') AND ((titre_francais LIKE '%$titre%' OR titre_version_originale LIKE '%$titre%' )OR AR_design LIKE '%$titre%') AND editeur LIKE '%$editeur%' ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 6 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE (auteur LIKE '%$auteur%' or AR_design like '%$auteur%') AND titre_francais LIKE '%$titre%' AND titre_version_originale LIKE '%$titre%' AND(instr LIKE '$instrument' OR instr LIKE '$instrument%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 7 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE (auteur LIKE '%$auteur%' or AR_design like '%$auteur%') AND editeur LIKE '%$editeur%' AND(instr LIKE '$instrument' OR instr LIKE '$instrument%') AND ((titre_francais LIKE '%$titre%' OR titre_version_originale LIKE '%$titre%' )OR AR_design LIKE '%$titre%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 8 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE (titre_francais LIKE '%$titre%' OR titre_version_originale LIKE '%$titre%' )OR AR_design LIKE '%$titre%' ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 9 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE ((titre_francais LIKE '%$titre%' OR titre_version_originale LIKE '%$titre%' )OR AR_design LIKE '%$titre%') AND editeur LIKE '%$editeur%' ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 10 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE ((titre_francais LIKE '%$titre%' OR titre_version_originale LIKE '%$titre%' )OR AR_design LIKE '%$titre%') AND(instr LIKE '$instrument' OR instr LIKE '$instrument%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 11 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE ((titre_francais LIKE '%$titre%' OR titre_version_originale LIKE '%$titre%' )OR AR_design LIKE '%$titre%') AND editeur LIKE '%$editeur%' AND(instr LIKE '$instrument' OR instr LIKE '$instrument%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 12 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE editeur LIKE '%$editeur%' ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 13 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE editeur LIKE '%$editeur%' AND(instr LIKE '$instrument' OR instr LIKE '$instrument%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
case 14 :
$query = "SELECT Auteur,titre_francais,titre_version_originale,lien,instruments,editeur,dispo,AR_prixven FROM am_parts WHERE (instr LIKE '$instrument' OR instr LIKE '$instrument%') ORDER BY auteur, AR_design";
$result = mysql_query ($query);
break;
// si aucun champ n'est rempli
case 15 :
echo "<br><font face='Arial, Helvetica, sans-serif' size='3' color='#000000'><center>aucun champ n'est renseigné !</center></font>";return;
break;
}
//on teste le nombre de ligne que contient le résultat, s'il est vide c'est que la recherche a été infructueuse
if(!mysql_fetch_row($result)){
echo "aucun résultat";
exit();
}
// affichera le nombre d'enregistrements retournés"
echo "<font face='Arial, Helvetica, sans-serif' size='2' color='#000000'><blockquote>Votre recherche porte sur le(s) mot(s) clé(s) suivant(s) : <b> $auteur $titre $editeur $instrument </b> </blockquote></font>";
//echo "<br>";
echo "<font face='Arial, Helvetica, sans-serif' size='2' color='#000000'> <blockquote> Nombre de résultats pour votre requête : " . (mysql_num_rows($result)-1) ;
echo " </blockquote>";
//variables pour le tableau
$nblignes = mysql_num_rows($result);
$nbchamps = mysql_num_fields($result);
function affiche_titre ($t1,$t2,$t3,$t4,$t5,$t6,$t7,$t8){
echo "<tr bgcolor='#DA4A19' align='center'>";
echo " <td width = '13%'><font size='2' color='#FFFFFF'>" .$t1.'</font></td>';
echo " <td width = '23%'><font size='2' color='#FFFFFF'>" .$t2.'</font></td>';
echo " <td width = '15%'><font size='2' color='#FFFFFF'>" .$t3.'</font></td>';
echo " <td width = '25%'><font size='2' color='#FFFFFF'>" .$t4.'</font></td>';
echo " <td width = '10%'><font size='2' color='#FFFFFF'>" .$t5.'</font></td>';
echo " <td width = '8%' ><font size='2' color='#FFFFFF'>" .$t6.'</font></td>';
echo " <td align='center' width = '2%'><font size='2' color='#FFFFFF'>" .$t7.'</font></td>';
echo " <td align='center' width = '4%'><font size='2' color='#FFFFFF'><strong>" .$t8.'</strong></font></td>';
echo "</tr>";
}
//on crée la table
echo "<table>";
affiche_titre("Auteur","Titre français","Titre original","Désignation","Instrument","Editeur"," Dispo"," € ");
//alterner les couleurs du tableau
function alterneCouleur ($couleur1, $couleur2){
static $couleur;
$couleur = ($couleur == $couleur1)? $couleur2 : $couleur1;
return $couleur;
}
$couleur1 = '#FFFCCB';
$couleur2 = '#FEEBBA';
//on teste pour connaitre le nombre de lignes
for($i=0; $i<$nblignes; $i++){
$ligne = mysql_fetch_row($result);
echo ?>
<tr bgcolor="<?php echo alterneCouleur($couleur1,$couleur2); ?>" >
<?php ;
for($j=0;$j< $nbchamps-2;$j++)
{
echo "<td valign='center' height='30px'><font face='Arial, Helvetica, sans-serif' size='1' color='#000000'>$ligne[$j]</font></td>";
}
if ($j=6){
//echo "<td valign='middle' align ='center' height='30px'><font size='1' ><b>$ligne[$j]</b></font>";
echo "<td valign='middle' align ='center' height='30px'>";
if($ligne[$j] == 0){
echo "<IMG src='IMAGES/rouge.gif' /></td>";
}
elseif($ligne[$j] ==1){
echo "<IMG src='IMAGES/orange.gif' /></td>";
}
else{
echo "<IMG src='IMAGES/vert.gif' /></td>";
}
}
if ($j=7){echo "<td valign='middle' align ='right' height='30px'><font face='Arial, Helvetica, sans-serif' size='2' color='#222299'><b>$ligne[$j]</b></font></td>";}
echo "</tr>";
}
echo "</table>";
//on se déconnecte de la table
mysql_close();
?>
</body>
</html>