Requete croissant ou decroissant avec rafraichissement de page a intervalle regu

gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 14 mai 2006 à 10:53
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 14 mai 2006 à 20:52
bonjour,
g un petit probleme
g creer une page php qui est une liste extraite de BDD avec rafraichissement de la page toutes les 10sec
j'ai aussi permis le choix de la croissance de la liste cad croissant ou decroissant malheureusement a chaque rafraichissement de la page il change de type de croissance cad ke tous les 10sec il passe de croissant a decroissant et inversement
je ne parviens pas a trouver comment rectifier ce script de tel sorte a ce qu'il change de mode de croissance uniquement lorsque qu'on lui demande et non a chaque rafraichissement

voila mon script:
=========

<?php
//on recupere la variable, si non existant ASC par defaut
$croi = isset($_GET['croi'])?$_GET['croi']:'ASC';
//on recupere la variable, si non existant champ degré par defaut
$ordre = isset($_GET['ordre'])?$_GET['ordre']:'id_degré';
//requete
$sql = "SELECT * FROM $table_deg,$table_inter ".
"WHERE $table_inter.id_degré=$table_deg.id_degré ".
"ORDER BY $table_inter.$ordre".' '."$croi";
$req = mysql_query($sql) or die (mysql_error());
$nb=mysql_num_rows($req); //nbr de ligne de résultat de la requête
if ($nb==0)
{
echo'Aucune requête d\'intervention enregistrée';
//rafraichissement dans 10 sec
echo'<meta http-equiv="refresh" content="10;URL=listes_interv.php?ordre=$ordre&croi=$croi">';
}else{
//si croissant passer a decoissant et inversement
echo'
Vous êtes ';
if ($croi=='ASC')
{
$croi='DESC';
echo'Décroissant';
}else{
$croi='ASC';
echo'Croissant';
}
?>
//rafraichissement dans 10 sec
<meta http-equiv="refresh" content="10;URL=listes_interv.php?ordre=<?php echo $ordre;?>&croi=<?php echo $croi;?>">
">Degré :,
">N° :,

<?php
while($data = mysql_fetch_array($req))
{
echo'----
, ';
echo''.$data['id_intervention'].', ';
}
echo'
';
}
?>

12 réponses

psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
14 mai 2006 à 12:50
$nb=mysql_num_rows($req); //nbr de ligne de résultat de la requête
if ($nb==0)
{
echo'Aucune requête d\'intervention enregistrée';
//rafraichissement dans 10 sec
echo'<meta http-equiv="refresh" content="10;URL=listes_interv.php?ordre=$ordre&croi=$croi">';
}else{
//si croissant passer a decoissant et inversement
echo'
Vous êtes ';
if ($croi=='ASC')
{
$croi='DESC';
echo'Décroissant';
}else{
$croi='ASC';
echo'Croissant';
}

Tu dis que s'il ne trouve aucun résultat, il rafraichit, sinon il change d'ordre. Le proble vient de la :

if ($croi=='ASC')

{

$croi='DESC';

echo'Décroissant';

}else{

$croi='ASC';

echo'Croissant';

}

qui devrait etre :

if ($croi=='DESC')

{

$croi='DESC';

echo'Décroissant';

}else{

$croi='ASC';

echo'Croissant';

}

Have Fun !
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 mai 2006 à 15:07
d accord mais le pb mais en faisant ainsi en resoud effectivement le fait que l ordre ne change pas pendant le rafraichissement or en cliquant sur le lien il ne pourra plus etre trier en croissant ou decroissant selon notre choix donc en clair il ne servirai a rien autant mettre l ordre par defaut dans la requete
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 mai 2006 à 15:08
ce que j aimerai est une requete auquel on puisse changer l ordre croissant/decroissant lorsque l on clique sur le lien et qui ne change pas pdt le rafraichissement
0
psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
14 mai 2006 à 18:57
Hum... tu la vois où ta liste ?? Moi j'en vois aucune...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
14 mai 2006 à 18:59
J'ai rien compris à ta demande, mais j'anticipe la réponse :

if ($croi=='DESC')
{
$croi='ASC';
echo'Croissant';
}else{
$croi='DESC';
echo'Décroissant';
}

PS : SQL Injection possible dans ton code via les variables $croi et $ordre
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 mai 2006 à 19:02
$dir = isset($_GET['dir'])?$_GET['dir']:'ASC';
$ordre = isset($_GET['ordre'])?$_GET['ordre']:'id_degré';
$sql = "SELECT * FROM $table_deg,$table_inter WHERE $table_inter.id_degré=$table_deg.id_degré ORDER BY $table_inter.$ordre".' '."$dir";
$req = mysql_query($sql) or die (mysql_error());
$nb=mysql_num_rows($req); //nbr de ligne de résultat de la requête
if ($nb==0)
{
echo'

Aucune requête d\'intervention enregistrée';
echo'<meta http-equiv="refresh" content="10;URL=listes_interv.php">';
}else{
echo'
Classée de façon ';
if ($dir=='ASC')
{
$dir='DESC';
echo'Décroissant';
}else{
$dir='ASC';
echo'Croissant';
}
?>
<meta http-equiv="refresh" content="10;URL=listes_interv.php?ordre=<?php echo $ordre;?>&dir=<?php echo $dir;?>">
Charger,
Position,
">Degré/">N° ,
">Type Intervention ,
">Statut,
">Lieu,
">Personne a contacter,
">Type,
Détail,

<?php
while($data = mysql_fetch_array($req))
{
if($data['position']<>'En attente')
{
echo '----
par ...', ';
}else{
?>
----

','','top=0,left=450,width=450,height=700,scrollbars=no');">,
<?php
}
echo''.$data['position'].', ';
echo''.$data['id_intervention'].', ';
echo''.$data['type_inter'].', ';
echo''.$data['statuts'].', ';
echo''.$data['lieu'].', ';
echo''.$data['demandeur'].', ';
echo''.$data['type_inter'].', ';
?>
','','top=0,left=450,width=380,height=700,scrollbars=no');">,

<?php
}
echo'
';
}
?>
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 mai 2006 à 19:03
voila mon script et la liste est défini par les requetes sql ci dessus
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 mai 2006 à 19:19
le fait est que g une liste d intervention qui se rafrachit toutes les 10 sec et qui change d'ordre entre croissant et decroissant
effectivement ta reponse arrange le pb de changement d ordre a chaque rafraichssement mais seulement je ne peut plus choisir apres si je ve trier par ordre croissant ou decroissant car en cliquant sur le lien si c croissant il va me retourner croissant donc sa restera croissant
donc ce ke j aimerai c :
1) rafraichissement de page en laissant l ordre tel qu'il a été choisi
2) la possibilité de choisir si on veu croissant ou decroissant

et je ne parviens pas a satisfaire c 2 requetes, je parviens a satisfaire la 2) uniquement et et ta reponse ne peut satisfaire ke la 1)
0
psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
14 mai 2006 à 19:23
Essaye ça :

<?php
$dir = isset($_GET['dir'])?$_GET['dir']:'ASC';
$ordre = isset($_GET['ordre'])?$_GET['ordre']:'id_degré';
$sql = "SELECT * FROM $table_deg,$table_inter WHERE $table_inter.id_degré=$table_deg.id_degré ORDER BY $table_inter.$ordre".' '."$dir";
$req = mysql_query($sql) or die (mysql_error());
$nb=mysql_num_rows($req); //nbr de ligne de résultat de la requête
if ($nb==0)
{
echo'

Aucune requête d\'intervention enregistrée';
echo'<meta http-equiv="refresh" content="10;URL=listes_interv.php">';
}else{
echo'
Classée de façon ';
if ($dir=='ASC')
{
$dir='DESC';
echo'Décroissant';
}else{
$dir='ASC';
echo'Croissant';
}
?>
<meta http-equiv="refresh" content="10;URL=listes_interv.php?ordre=<?php echo $ordre;?>&dir=<?php echo $dir;?>">
Charger,
Position,
">Degré croissant/N° ,
">Degré décroissant/N° ,
">Type Intervention ,
">Statut,
">Lieu,
">Personne a contacter,
">Type,
Détail,

<?php
while($data = mysql_fetch_array($req))
{
if($data['position']<>'En attente')
{
echo '----
par ...', ';
}else{
?>
----

','','top=0,left=450,width=450,height=700,scrollbars=no');">,
<?php
}
echo''.$data['position'].', ';
echo''.$data['id_intervention'].', ';
echo''.$data['type_inter'].', ';
echo''.$data['statuts'].', ';
echo''.$data['lieu'].', ';
echo''.$data['demandeur'].', ';
echo''.$data['type_inter'].', ';
?>
','','top=0,left=450,width=380,height=700,scrollbars=no');">,

<?php
}
echo'
';
}
?>
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 mai 2006 à 20:10
excuz moi mais est ce ke tu pe me montrer ou est ce ke tu as modifier paske vu la longueur du script la modification ne peut pas taper a l'oeil ! lol
sinon ouais je v essayer
0
psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
14 mai 2006 à 20:28
<td>">Degré croissant/N°
</td>
<td>">Degré décroissant/N°
</td>
<td>">Type Intervention </td>
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
14 mai 2006 à 20:52
ouais, je vois faire un lien croissant et un lien decroissant a part
j'y avais penser mais seulement je m obstinai a chercher pour faire les 2 en un seul lien ce qui est possible sans rafraichissement de la page
je v me debrouiller autrement desormais
je te remercie kan mm
0
Rejoignez-nous