Pb moteur recherche + resultat plusieurs page

Résolu/Fermé
supergirl91130 Messages postés 27 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 22 mai 2011 - 10 juin 2010 à 10:50
supergirl91130 Messages postés 27 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 22 mai 2011 - 10 juin 2010 à 12:48
Bonjour,

Je suis actuellement en stage de première année en BTS IG et je dois ajouter un moteur de recherche et recuperer les resultats de la requête sur plusieurs pages . J'ai réussie la recuperation sur plusieurs pages mais dès que je veux ajouter le moteur de recherche ça ne marche plus.En fait si ça fonction sur la premieres pages et dès que je click sur le lien pour aller à la pages suivante ça ne garde pas la valeur du moteur de recherche .
J'ai regarder tous les forums mais rien de concluant . J'ai essayer pas mal de chose et rien ne marche .Je vous en supplie aidez moi:

voici mon code :

<u><b>FACTURE RECHERCHEE </b></u> :
<input type="text" name="moteur" size="30" />


<input type= "submit" value ="VALIDER"/>
</form>
<?php


//=========================================

// includes du fichier fonctions

//=========================================

require 'fonctions.php';

//=========================================

// information pour la connection à le DB

//=========================================

$host = 'localhost';

$user = 'land';

$pass = 'alexia';

$db = 'landv';



//=========================================

// initialisation des variables

//=========================================

// on va afficher 5 résultats par page.

$nombre = 2;

// si limite n'existe pas on l'initialise à zéro

if (!$limite) $limite = 0;

// on cherche le nom de la page.

$path_parts = pathinfo($_SERVER['PHP_SELF']);

$page = $path_parts["landvart"];



//=========================================

// connection à la DB

//=========================================

$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );

mysql_select_db($db) or die ('Erreur :'.mysql_error());



//=========================================

// requête SQL qui compte le nombre total

// d'enregistrements dans la table.

//=========================================
$num_cli_session = mysql_real_escape_string($_SESSION['num_cli']);
$moteur=$_POST['moteur'];



if((!isset($moteur))
$select = 'SELECT count(numero_facture)
FROM factures
WHERE numero_client="'.$num_cli_session.'"';



if((isset($moteur))
$select = 'SELECT count(numero_facture)
FROM factures
INNER JOIN documents
ON factures.numero_document=documents.numero_document
WHERE intitule_document
LIKE "%'.$moteur.'%" and numero_client="'.$num_cli_session.'"';


$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

$row = mysql_fetch_row($result);

$total = $row[0];




$verifLimite= verifLimite($limite,$total,$nombre);

// si la limite passée n'est pas valide on la remet à zéro

if(!$verifLimite) {

$limite = 0;

}


//=========================================

// requête SQL qui ne prend que le nombre

// d'enregistrement necessaire à l'affichage.

//=========================================
if((!isset($moteur))

$select = 'SELECT numero_facture, numero_facture_fournisseur, date_edition_facture, date_echeance_paiement, montant_ttc, montant_ht, montant_tva, lien_scan, intitule_document
FROM factures
INNER JOIN documents
ON factures.numero_document=documents.numero_document
WHERE numero_client="'.$num_cli_session.'"
ORDER BY date_edition_facture
DESC LIMIT '.$limite.','.$nombre;


else if((isset($moteur))

$select='SELECT numero_facture, numero_facture_fournisseur, date_edition_facture, date_echeance_paiement, montant_ttc, montant_ht, montant_tva, lien_scan, intitule_document
FROM factures
INNER JOIN documents
ON factures.numero_document=documents.numero_document
WHERE intitule_document
LIKE "%'.$moteur.'%" and numero_client="'.$num_cli_session.'"
ORDER BY date_edition_facture
DESC LIMIT '.$limite.','.$nombre;


$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );



//=========================================

// si on a récupéré un resultat on l'affiche.

//=========================================

if($total) {

// début du tableau

?>
</span>
<p> </p>
<p> </p>
<span class="textrubriqueprogrammation">
<table bgcolor="#FFFFFF" border="1">



<tr>

<td bgcolor="#6A95AF"><b><u>Date d'édition de la facture </u></b></td>

<td bgcolor="#6A95AF"><b><u>Date d'échéance de la facture</u></b></td>

<td bgcolor="#6A95AF"><b><u>Montant TTC (en Euros)</u></b></td>

<td bgcolor="#6A95AF"><b><u>Montant HT (en Euros)</u></b></td>

<td bgcolor="#6A95AF"><b><u>Montant TVA (en Euros)</u></b></td>

<td bgcolor="#6A95AF"><b><u>Montant réglé (en Euros)</u></b></td>

<td bgcolor="#6A95AF"><b><u>Telecharger la facture </u></b></td>

</tr>

<?php
// lecture et affichage des résultats sur 2 colonnes

while($row = mysql_fetch_array($result)) {

$numero_facture = $row['numero_facture'];
$numero_facture_fournisseur = $row['numero_facture_fournisseur'];
$date_edition_facture =$row['date_edition_facture'];
$date_echeance_paiement = $row['date_echeance_paiement'];
$montant_ttc =$row['montant_ttc'];
$montant_ht = $row['montant_ht'];
$montant_tva = $row['montant_tva'];
$lien_scan = $row['lien_scan'];
$intitule_document = $row['intitule_document'];
$intitule_document_doc = $intitule_document.".pdf";

// On enlève la partie temporelle aux deux dates
$date_edition_tmp = explode(" ", $date_edition_facture);
$date_echeance_tmp = explode(" ", $date_echeance_paiement);

$date = $date_edition_tmp[0];
$date2 = $date_echeance_tmp[0];

// On affiche la date sous le format jour-mois-année
$date_tmp = explode("-", $date);
$annee = $date_tmp[0];
$mois = $date_tmp[1];
$jour = $date_tmp[2];

$date_tmp2 = explode("-", $date2);
$annee2 = $date_tmp2[0];
$mois2 = $date_tmp2[1];
$jour2 = $date_tmp2[2];

$date_edition = $jour."-".$mois."-".$annee;
$date_echeance = $jour2."-".$mois2."-".$annee2;

// On tronque les montant à 3 chiffres après la virgule
$montant_ttc_tronc = round($montant_ttc, 3);
$montant_ht_tronc = round($montant_ht, 3);
$montant_tva_tronc = round($montant_tva, 3);




// Sélection dans la base du montant réglé pour chacune des factures du client
$requete2 = "SELECT SUM(montant_reglement) FROM factures INNER JOIN reglements ON factures.numero_facture=reglements.numero_facture WHERE factures.numero_facture='". $numero_facture."' ;";
$resultat2 = mysql_query($requete2,$link);

while($donnee2 = mysql_fetch_array($resultat2))
{
$montant_regle = $donnee2[0];
$montant_regle_tronc = round($montant_regle, 3);
//echo $montant_regle;
//echo $montant_regle_tronc;
}
?><tr>
<?php

if($montant_regle_tronc==$montant_ttc_tronc)
$couleur='green';
if($montant_regle_tronc == 0)
$couleur='red';
if(( 0<$montant_regle_tronc) && ($montant_ttc_tronc >$montant_regle_tronc))
$couleur='blue';?>

<td height="45">
<font color="<?php echo $couleur ;?>"><?php echo $date_edition; ?></font>
</td>

<td height="45">
<font color="<?php echo $couleur ;?>"><?php echo $date_echeance; ?></font>
</td>
<td height="45">
<font color="<?php echo $couleur ;?>"><?php echo $montant_ttc ; ?></font>
</td>

<td height="45">
<font color="<?php echo $couleur ;?>"><?php echo $montant_ht ; ?></font>
</td>

<td height="45">
<font color="<?php echo $couleur ;?>"><?php echo $montant_tva; ?></font>
</td>
<td height="45">
<font color="<?php echo $couleur ;?>"><?php echo $montant_regle_tronc ; ?></font>
</td>
<td height="45">
<b><u><a href="http://www.landvart.com/extranet/devis/<?php echo $intitule_document_doc?>">
<font color="<?php echo $couleur ;?>"><?php echo $intitule_document ?></font>
</a></u></b>
</td>
</tr>

<?php


}



?></table></span>
<p> </p>
<p> </p>
<p><span class="textrubriqueprogrammation">
<?php



}else echo 'Pas d\'enregistrements dans cette table...';



if($nombre<$total)
{



echo'<center>';
affichePages($nombre,$page,$total);

$limiteSuivante = $limite + $nombre;
$limitePrecedente = $limite - $nombre;

echo '<table><tr>'."\n";
if($limite != 0) {
?> << <?php echo '<a href="'.$page.'?limite='.$limitePrecedente.'">Page Précédente</a> || ';

}
if($limiteSuivante < $total) {
echo '<a href="'.$page.'?limite='.$limiteSuivante.'">Page Suivante</a>'?> >><?php ;


}
echo '</tr></table>'."\n";



echo'</center>';
}


?>

Voici les fonctions appelées:

<?php
function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td ><a href = "'.$page.'?limite='.$limite.'"><b><u>'.$numeroPages.'</u></b></a></td>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}



function verifLimite($limite,$total,$nombre) {

// je verifie si limite est un nombre.

if(is_numeric($limite)) {


// si $limite est entre 0 et $total, $limite est ok

// sinon $limite n'est pas valide.

if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {

// j'assigne 1 à $valide si $limite est entre 0 et $max

$valide = 1;

}

else {

// sinon j'assigne 0 à $valide

$valide = 0;

}

}

else {

// si $limite n'est pas numérique j'assigne 0 à $valide

$valide = 0;

}

// je renvois $valide

return $valide;

}




?>

J'espère que vouys pourrez m'aidez désolé si j'ai pas precisée certains points .Posez des questions si certains points vous parraissent bizzarres

Merci d'avance



A voir également:

1 réponse

supergirl91130 Messages postés 27 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 22 mai 2011 3
10 juin 2010 à 12:48
justement je n'arrive pas à trouver le moyen de faire passer la valeur entrée par l'utilisateur du moteur de recherche de pages en pages

Quand j'entre la valeur ça affiche 2 lien ce qui est bon
quand je click sur le lien de la page 2 ça m'affiche la page de resultat sans la variable du moteur de recherche
je passe deux 2 liens à 5
0