rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[PHP] tri des colonnes d'un tableau

Posté par cemf, le jeudi 8 novembre 2007 à 11:48:41
Bonjour,

voila, j'ai créé ma première page PHP avec base de donnée derriere.
Cela m'affiche un tableau avec 10 colonnes.

je voudrais, en cliquant sur le titre de chaque colonne, que cela trie la liste en fonction de cette colonne
(ex. je clique sur TITLE et cela me trie toutes les données du tableau en fonction de TITLE)

La seule astuce que j'ai trouvée, c'est de créer une page par colonne en changeant ceci:
(par exemple pour la page triée par la colonne title :
$query_Recordset1 = "SELECT code, title, `time`, album, style, master, publishing, composer, destination, territories, audio FROM item ORDER BY title"; )
Et je fais un lien sur TITLE en haut de la colonne qui renvoie vers cette page. Mais au final j'aurai 10 pages…

C'est super lourd. Donc je cherche à mettre sur chaque titre de colonne un lien qui me rafraichi la page en affichant les infos triées en fonction de la requête.
par ex : http://index.php?ORDER BY title
Mais cela ne fonctionne pas…

J'espère que quelqu'un pourra m'aider.
Voici le code de ma page principale:




<?php require_once('Connections/contenu.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

mysql_select_db($database_contenu, $contenu);
$query_Recordset1 = "SELECT code, title, `time`, album, style, master, publishing, composer, destination, territories, audio FROM item ORDER BY title";
$Recordset1 = mysql_query($query_Recordset1, $contenu) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?><html>
<head>
<title>Document sans nom</title>
<link href="class.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top"><table width="90%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="1" bgcolor="#000000"><img src="images/espaceur.gif" width="1" height="1"></td>
<td align="center" valign="top">


<a href="recherche.php">RECHERCHE</a><br&­gt;
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="25" align="center" bgcolor="#000066" class="titre">CODE</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre"><img src="images/espaceur.gif" alt=" " width="3" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">TITLE</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">TIME</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre"><img src="images/espaceur.gif" alt=" " width="3" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">ALBUM</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">STYLE</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">MASTER</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">PUBLISHING</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">COMPOSER</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">DESTINATION</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
<td align="center" bgcolor="#000066" class="titre">TERRITORIES</td>
<td width="1" align="center" bgcolor="#000066"><img src="images/espaceur.gif" alt=" " width="1" height="1"></td>
</tr>
<tr>
<td height="10"><span class="texte"><img src="images/espaceur.gif" width="10" height="10"></span></td>
<td bgcolor="#CCCCCC"></td>
<td></td>
<td></td>
<td bgcolor="#CCCCCC"></td>
<td></td>
<td bgcolor="#CCCCCC"></td>
<td></td>
<td></td>
<td bgcolor="#CCCCCC"></td>
<td align="center"></td>
<td align="center" bgcolor="#CCCCCC"></td>
<td align="center"></td>
<td align="center" bgcolor="#CCCCCC"></td>
<td align="center"></td>
<td bgcolor="#CCCCCC"></td>
<td align="center"></td>
<td align="center" bgcolor="#CCCCCC"></td>
<td align="center"></td>
<td align="center" bgcolor="#CCCCCC"></td>
<td align="center"></td>
<td align="center" bgcolor="#CCCCCC"></td>
</tr>
<?php do { ?><tr>

<td height="20" align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['code']; ?></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td bgcolor="#F3F3F3" class="texte"></td>
<td bgcolor="#F3F3F3" class="texte"><strong><?php echo $row_Recordset1['title']; ?></strong></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['time']; ?></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td bgcolor="#F3F3F3" class="texte"></td>
<td bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['album']; ?></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['style']; ?></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['master']; ?></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['publishing']; ?></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['composer']; ?></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['destination']; ?></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" bgcolor="#F3F3F3" class="texte"><?php echo $row_Recordset1['territories']; ?></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
</tr>
<tr>
<td height="10" align="center" class="texte"><img src="images/espaceur.gif" alt=" " width="10" height="10"></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td class="texte"></td>
<td class="texte"></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td align="center" class="texte"></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td class="texte"></td>
<td class="texte"></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td align="center" class="texte"></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" class="texte"></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" class="texte"></td>
<td bgcolor="#CCCCCC" class="texte"></td>
<td align="center" class="texte"></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" class="texte"></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
<td align="center" class="texte"></td>
<td align="center" bgcolor="#CCCCCC" class="texte"></td>
</tr><?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
<br>
<br>
<br>
<br></td>
<td width="1" bgcolor="#000000"><img src="images/espaceur.gif" width="1" height="1"></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Configuration: Mac OS X
Safari 419.3
Dreamweaver  8
Répondre à cemf  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
cemf, le jeudi 8 novembre 2007 à 18:34:34
Bonjour,

Personne ne peux m'aider?

S'il vous plait…
Je suis desespéré. Je ne trouve vraiment pas la solution...

Merci d'avance à tous
Répondre à cemf

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Alain42, le jeudi 8 novembre 2007 à 19:06:03
Bonsoir,

Une petite recherche sur Google et voilà une page qui traite de cela, en javascript:

http://www.asp-php.net/scripts/scripting/array_sort.php

il y a aussi celui en php:

http://www.asp-php.fr/...
Répondre à Alain42

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 cemf, le vendredi 9 novembre 2007 à 09:34:43
Merci beaucoup,

J'ai en fait pris la solution javascript qui marche très bien.
Car celle en PHP, je ne savais pas quel code je devais changer…

Merci encore
Répondre à cemf
Logiciels pertinents trouvés dans les téléchargements
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger Trillian 3.1.10.0Trillian - Trillian est un des clients de messagerie instantanée les plus aboutis. Il est compatible avec AIM®, MSN®, ICQ®, Yahoo!®, et...Catégorie: Messagerie instantanée
Licence: Open Source
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Télécharger GigaTribe 2.45GigaTribe - GigaTribe (ex-TribalWeb) est un logiciel de partage de fichiers Peer-to-peer (P2P) en réseau privé. GigaTribe, permet de...Catégorie: Téléchargement
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [PHP] tri des colonnes d'un tableau »