par
castelli » 11 janv. 2007, 15:22
en gros voila :
j'ai un formulaire ou je peu faire une recherche (par dans mots clefs dans une categorie au choix(liste deroulante))dans ma base de donnée
et les resultats sont entrées dans un tableau.
Quand je clique sur l'une des entêtes du tableau la page est rechargé avec mes resultats rangés par catégorie (order by dans ma requete)
Jusque la tout va bien , sauf que quand clique sur l'entête du tableau il me perd une partie de ma recherche (les mots clefs)et donc ce que j'obtient dans le tableau c un peu du nimporte quoi.
Par contre il me garde bien la categorie que j'avais choisit.
voila des partie du code:
le formulaire
<form method="POST" action='index6.php'>
<tr><td><input type="text" name="motsclef"></td>
<td><select name="methode">
<option value="nom">Par nom</option>
<option value="reference">Par reference</option>
<option value="initiale">Par initiale</option>
<option value="date">Par date</option>
<option value="localisation">Par localisation</option>
<option value="disponibilite">Par disponibilité</option>
</select>
</td></tr>
<tr><td><input type="submit" name=envois value="Rechercher"></td></tr>
</form>
un lien des entêtes :
<TH><a href='index6.php?class=reference&methode2=<?php echo $methode2; ?>&motsclef2=<?php echo $motsclef2; ?>&limite2=<?php echo $limite; ?>' name=envois>Reference</a></TH>
et ici le code pour dire : tant qu'il n'y a pas de mots clef de rentré dans le formulaire on prend ceux de l'adresse
$methode = $_POST['methode'];
$motsclef = $_POST['motsclef'];
$methode2=$_GET['methode2'];
$motsclef2=$_GET['clef'];
if (!isset($methode2))
$methode2 = $methode;
if (!isset($motsclef2))
$motsclef2 = $motsclef;
echo $motsclef2;
if (isset ($_GET['clef']))
{
if ($motsclef !="") $motsclef2 = $motsclef;
}
if (isset ($_GET['methode2']))
{
if ($methode !="") $methode2 = $methode;
}
voici un echo de la requete avant d'appuyer sur une categorie:
Code : Tout sélectionner
SELECT groupe,classe,produit,nom,quantite,initiale,numero,date,localisation,disponibilite,commentaire,reference,img,formule FROM biobase WHERE nom LIKE '%t%' ORDER BY 'reference'
et voici un echo aprés avoir appuyer sur une categorie:
Code : Tout sélectionner
SELECT groupe,classe,produit,nom,quantite,initiale,numero,date,localisation,disponibilite,commentaire,reference,img,formule FROM biobase WHERE nom LIKE '%Array%' ORDER BY 'reference'
Voila si vous voyez des erreures n'hesitez pas surtout
ou si vous avez besoin de d'autre explication sur ce que j'ai voulus faire dite le moi
merci encore
en gros voila :
j'ai un formulaire ou je peu faire une recherche (par dans mots clefs dans une categorie au choix(liste deroulante))dans ma base de donnée
et les resultats sont entrées dans un tableau.
Quand je clique sur l'une des entêtes du tableau la page est rechargé avec mes resultats rangés par catégorie (order by dans ma requete)
Jusque la tout va bien , sauf que quand clique sur l'entête du tableau il me perd une partie de ma recherche (les mots clefs)et donc ce que j'obtient dans le tableau c un peu du nimporte quoi.
Par contre il me garde bien la categorie que j'avais choisit.
voila des partie du code:
le formulaire
[php]<form method="POST" action='index6.php'>
<tr><td><input type="text" name="motsclef"></td>
<td><select name="methode">
<option value="nom">Par nom</option>
<option value="reference">Par reference</option>
<option value="initiale">Par initiale</option>
<option value="date">Par date</option>
<option value="localisation">Par localisation</option>
<option value="disponibilite">Par disponibilité</option>
</select>
</td></tr>
<tr><td><input type="submit" name=envois value="Rechercher"></td></tr>
</form>[/php]
un lien des entêtes :
[php]<TH><a href='index6.php?class=reference&methode2=<?php echo $methode2; ?>&motsclef2=<?php echo $motsclef2; ?>&limite2=<?php echo $limite; ?>' name=envois>Reference</a></TH>[/php]
et ici le code pour dire : tant qu'il n'y a pas de mots clef de rentré dans le formulaire on prend ceux de l'adresse
[php]
$methode = $_POST['methode'];
$motsclef = $_POST['motsclef'];
$methode2=$_GET['methode2'];
$motsclef2=$_GET['clef'];
if (!isset($methode2))
$methode2 = $methode;
if (!isset($motsclef2))
$motsclef2 = $motsclef;
echo $motsclef2;
if (isset ($_GET['clef']))
{
if ($motsclef !="") $motsclef2 = $motsclef;
}
if (isset ($_GET['methode2']))
{
if ($methode !="") $methode2 = $methode;
}
[/php]
voici un echo de la requete avant d'appuyer sur une categorie:
[code]SELECT groupe,classe,produit,nom,quantite,initiale,numero,date,localisation,disponibilite,commentaire,reference,img,formule FROM biobase WHERE nom LIKE '%t%' ORDER BY 'reference' [/code]
et voici un echo aprés avoir appuyer sur une categorie:
[code]SELECT groupe,classe,produit,nom,quantite,initiale,numero,date,localisation,disponibilite,commentaire,reference,img,formule FROM biobase WHERE nom LIKE '%Array%' ORDER BY 'reference' [/code]
Voila si vous voyez des erreures n'hesitez pas surtout
ou si vous avez besoin de d'autre explication sur ce que j'ai voulus faire dite le moi
merci encore