Amélioration de la recherche

This commit is contained in:
Rodolphe Quiedeville 2003-07-12 10:32:11 +00:00
parent a05c50455f
commit 1585d46bdd

View File

@ -19,19 +19,9 @@
* $Source$ * $Source$
* *
*/ */
require("./pre.inc.php3"); require("./pre.inc.php3");
$db = new Db(); $db = new Db();
if ($sortfield == "")
{
$sortfield="lower(p.label),p.price";
}
if ($sortorder == "")
{
$sortorder="ASC";
}
if ($action == 'update') if ($action == 'update')
{ {
@ -39,14 +29,49 @@ if ($action == 'update')
$db->query($sql); $db->query($sql);
} }
if ($page == -1) {
$page = 0 ;
}
if ($page == -1) { $page = 0 ; }
$limit = $conf->liste_limit; $limit = $conf->liste_limit;
$offset = $limit * $page ; $offset = $limit * $page ;
if ($sortfield == "")
{
$sortfield="p.tms";
}
if ($sortorder == "")
{
$sortorder="DESC";
}
$sql = "SELECT p.rowid, p.label, p.price, p.ref FROM llx_product as p";
if ($sref)
{
$sql .= " WHERE lower(p.ref) like '%".strtolower($sref)."%'";
}
if ($snom)
{
$sql .= " WHERE lower(p.label) like '%".strtolower($snom)."%'";
}
$sql .= " ORDER BY $sortfield $sortorder ";
$sql .= $db->plimit($limit + 1 ,$offset);
if ( $db->query($sql) )
{
$num = $db->num_rows();
$i = 0;
if ($num == 1)
{
$objp = $db->fetch_object($i);
Header("Location: fiche.php3?id=$objp->rowid");
}
llxHeader(); llxHeader();
print_barre_liste("Liste des produits", $page, $PHP_SELF); print_barre_liste("Liste des produits", $page, $PHP_SELF, "&sref=$sref&snom=$snom", $sortfield, $sortorder,'',$num);
print '<TABLE border="0" width="100%" cellspacing="0" cellpadding="4">'; print '<TABLE border="0" width="100%" cellspacing="0" cellpadding="4">';
@ -64,26 +89,9 @@ print '</form><form action="index.php3" method="post">';
print '<td><input class="flat" type="text" size="20" name="snom">&nbsp;<input class="flat" type="submit" value="go"></td>'; print '<td><input class="flat" type="text" size="20" name="snom">&nbsp;<input class="flat" type="submit" value="go"></td>';
print '</form><td>&nbsp;</td></tr>'; print '</form><td>&nbsp;</td></tr>';
$sql = "SELECT p.rowid, p.label, p.price, p.ref FROM llx_product as p";
if ($HTTP_POST_VARS["sref"])
{
$sql .= " WHERE lower(p.ref) like '%".strtolower($HTTP_POST_VARS["sref"])."%'";
}
if ($HTTP_POST_VARS["snom"])
{
$sql .= " WHERE lower(p.label) like '%".strtolower($HTTP_POST_VARS["snom"])."%'";
}
$sql .= " ORDER BY $sortfield $sortorder ";
$sql .= $db->plimit( $limit ,$offset);
if ( $db->query($sql) )
{
$num = $db->num_rows();
$i = 0;
$var=True; $var=True;
while ($i < $num) while ($i < min($num,$limit))
{ {
$objp = $db->fetch_object( $i); $objp = $db->fetch_object( $i);
$var=!$var; $var=!$var;
@ -95,9 +103,16 @@ if ( $db->query($sql) )
$i++; $i++;
} }
$db->free(); $db->free();
}
print "</table>"; print "</table>";
}
else
{
print $db->error();
}
$db->close(); $db->close();
llxFooter("<em>Derni&egrave;re modification $Date$ r&eacute;vision $Revision$</em>"); llxFooter("<em>Derni&egrave;re modification $Date$ r&eacute;vision $Revision$</em>");