payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 2014
-
30 déc. 2008 à 13:52
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 2014
-
2 janv. 2009 à 11:49
Bonjour,
Je vais essayer de faire simple.
J'ai mis en place un petit outil de gestion d'articles en internes, j'ai un select qui lit dans la base et qui affiche toutes els references des articles et toutes les noms des articles à coté (dans le meme select).
J'aimerais que, juste a côté, il y ait 2 cases à cocher : "trier par nom" et "trier par reference"...
Comment metter en place ce tri SVP ?
Voici le code de mon select (si ça peut vous aider) :
<SELECT NAME= "reference_mod" ID="reference_mod">
<?php
$connect=ODBC_connect("TESTPHP5","sa","sasa");
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY CODEPRODUIT ";
$res =odbc_exec($connect, $sql) or die($sql."
".odbc_error());
while (odbc_fetch_row($res))
{
$CodeProduit_mod = trim(odbc_result($res,"CODEPRODUIT"));
$Designation_mod = trim(odbc_result($res,"DESIGNATION"));
if( $reference_mod == $CodeProduit_mod )
{
echo "<OPTION value='".$CodeProduit_mod."' selected='selected'>".$CodeProduit_mod." - ".$Designation_mod."</OPTION>";
}
else
{
echo "<OPTION value='".$CodeProduit_mod."'>".$CodeProduit_mod." - ".$Designation_mod."</OPTION>";
}
// $sql="select DESIGNATION from produit where CODEPRODUIT='$CodeProduit_mod'";
}
ODBC_close($connect);
?> </SELECT>
J'ai souligné et mis en gras la requete qui fait que ça affiche par ordre de REFERENCE...
Enfin je pense que j'ai été clair.
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 31 déc. 2008 à 10:18
Bon je met a jour ce petit POST pour dire que j'ai trouvé la solution
J'ai fais tout simplement :
if(isset($_GET['tri']))
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY DESIGNATION";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
else
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY CODEPRODUIT";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
Et pour mes liens :
[gestion_base_interne.php Tri par ref]
[gestion_base_interne.php?tri=1 Tri par nom]
En tout cas merci d'avoir répondu et d'avoir passé du temps pour moi.
bonne journée et bonnes fetes ;)
Noreaga10000
Messages postés46Date d'inscriptionvendredi 24 octobre 2008StatutMembreDernière intervention27 janvier 2009 30 déc. 2008 à 16:38
Bonjour,
A tester, car je n'ai jamais essayer.
Ajoute ta case à cocher (bouton radio, soit un tri soit l'autre) où tu souhaite la faire apparaître, avec un peu de javascript:
<form>
Tri par réf
Tri par nom
</form>
Dans le head de ton fichier, essaie le javascript suivant:
<script type="text/javascript" >
function changeTri()
{
var triRef=document.getElementById("btnTriRef");
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 30 déc. 2008 à 17:22
Bonjour et merci de ta réponse.
J'ai testé et non ça ne marche pas.
Pour résumer, tout en haut de ma page j'ai mis tel quel :
<?php
$orderByRef = "ORDER BY codeproduit ASC";
$orderByNom = "ORDER BY designation ASC";
?>
apres j'ai tout un tas de code dont on s'en fou pour notre traitement. Et apres j'ai ceci :
<SCRIPT TYPE="text/javascript" >
function changeTri()
{
var triRef=document.getElementById("btnTriRef");
}
</SCRIPT>
Tri
par réf
Tri
par nom
</TD>
<TD HEIGHT="30">
<SELECT NAME="reference_mod" ID="reference_mod">
<?php
$connect=ODBC_connect("TESTPHP5","sa","sasa");
//$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY CODEPRODUIT";
$sql="select CODEPRODUIT,DESIGNATION from produits".$order;
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
while (odbc_fetch_row($res))
{
payetonju
Messages postés436Date d'inscriptionmercredi 26 septembre 2007StatutMembreDernière intervention 2 juillet 20144 31 déc. 2008 à 09:50
Bonjour,
Alors ça ne marche pas non plus... En me creusant un peu, je l'ai fait par 2 méthodes ( a peu pres similaires) mais j'ai un souci :
if(isset($_GET['tri'])&& ($GET['tri']=nom))
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY DESIGNATION";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
elseif(isset($_GET['tri'])&& ($GET['tri']=ref))
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY CODEPRODUIT";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
else
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY CODEPRODUIT";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
et
if(isset($_GET['tri']))
{
if ($GET['tri']=nom)
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY DESIGNATION";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
else
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY CODEPRODUIT";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
}
else
{
$sql="select CODEPRODUIT,DESIGNATION from produits ORDER BY CODEPRODUIT";
$res=odbc_exec($connect, $sql) or die($sql."
".odbc_error());
}
et les 2 liens sur lesquels je clique (c'est plus simple par lien en fait) :
[gestion_base_interne.php?tri=ref Tri par ref]
[gestion_base_interne.php?tri=nom Tri par nom]
Quand je touche a rien, au départ, cela tri par CODEPRODUIT (comme je voulais !) mais peut importe le lien sur lequel je clique il me tri toujours par nom , comment est possible ? (dans les 2 cas de figure, d'ailleurs je ne sais pas quel est le plus fiable)