ORDER BY qui ne fonctionne pas

Avatar du membre
Mammouth du PHP | 1564 Messages

30 nov. 2012, 01:44

Bonjour,

quand j'effectue cette requête, les ORDER ne sont pas pris en comptes, ils sont pas ordonnés comme je le demande (voir pas du tout):
<?php
if(isset($_GET['ordre'])) {
	if($_GET['ordre'] == "DESC") {
		$ordre = "DESC";
	} elseif($_GET['ordre'] == "DESC") {
		$ordre = "ASC";
	} else {
		$ordre = "DESC";
	}
} else {
	$ordre = "DESC";
}
if(isset($_GET['tri'])) {
	if($_GET['tri'] == "id") {
		$tri = "id";
	} elseif($_GET['tri'] == "nom") {
		$tri = "nom";
	} elseif($_GET['tri'] == "actif") {
		$tri = "actif";
	} else {
		$tri = "id";
	}
} else {
	$tri = "id";
}
?>
<table>
	<tr>
		<td colspan="3" align="center">Trier par: 
		<a href="page.php?tri=id&ordre=<?php echo $ordre; ?>">ID</a> - 
		<a href="page.php?tri=nom&ordre=<?php echo $ordre; ?>">Nom</a> - 
		<a href="page.php?tri=actif&ordre=<?php echo $ordre; ?>">Actif</a>
		
		<br />Trier par ordre: 
		<a href="page.php?tri=<?php echo $tri; ?>&ordre=ASC">Croissant</a> - 
		<a href="page.php?tri=<?php echo $tri; ?>&ordre=DESC">D&eacute;croissant</a>
		</td>
	</tr>
	<tr>
		<th>ID</th>
		<th>Nom </th>
		<th>Actif</th>
	</tr>
<?php
$Verif = mysql_query("SELECT * FROM table ORDER BY ".$tri." ".$ordre."");
if(mysql_num_rows($Verif) == 0) {
	?>
	<tr>
		<td colspan="3" align="center">Aucun enregistr&eacute;ement</td>
	</tr>
	<?php
} else {
	while($Infos = mysql_fetch_assoc($Verif)) {
	?>
	<tr>
		<td><?php echo $Infos['id']; ?></td>
		<td><?php echo $Infos['nom']; ?></td>
		<td><?php echo $Infos['actif']; ?></td>
	</tr>
	<?php
	}
}
?>
</table>

Mammouth du PHP | 790 Messages

30 nov. 2012, 01:55

?php
if(isset($_GET['ordre'])) {
        if($_GET['ordre'] == "DESC") {
                $ordre = "DESC";
        } elseif($_GET['ordre'] == "DESC") {
                $ordre = "ASC";
        } else {
                $ordre = "DESC";
        }
j'ai bien le sentiment qu'il y a un soucis, regarde bien ! le elseif, tu ni vois pas comme un soucis ?
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Avatar du membre
Mammouth du PHP | 1564 Messages

30 nov. 2012, 02:02

non, j'ai toujours fait mais elseif comme ça d'ailleurs

Mammouth du PHP | 790 Messages

30 nov. 2012, 02:03

regarde comme ca:
?php
if(isset($_GET['ordre'])) {
if($_GET['ordre'] == "DESC") {
$ordre = "DESC";
} elseif($_GET['ordre'] == "DESC") {
$ordre = "ASC";
} else {
$ordre = "DESC";
}
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Avatar du membre
Mammouth du PHP | 1564 Messages

30 nov. 2012, 02:15

J'avais pas remarqué

Merci pour ton aide :D

Mammouth du PHP | 790 Messages

30 nov. 2012, 02:17

Pas de soucis...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.