Sort sur une table - erreur stupide pour sort et order
Salut
je veux trier une table, ma table des donations.
J'ai entre quelques donations fictives, la table est Ok, les champs aussi, de ce coté là tout va bien
MAIS,
Je tourne en rond sur une erreur d'une stupidité affligeante,
Evidemment un bon codeur, va se taper une tartine de rigolade...
Soit mon $sort est à RIEN à chaque nouvelle session MAIS mon $order est nickerl,
Je peux selctionner mon order de tri, class, country, .... c ok
Soit je file une valeur par default à $sort, ET apres, evidemment, je reste sur mon $sort ="id";
ET plus moyen de selctionner mon $order
le bleme doit venir des premieres lignes de mon code, mon option selct doit etre bancal
+ je pense mon test de $sort
y a t-il un magicien dans la salle ? :)
Voici une page de TEST, extraite du contexte de mon site,
Puisque mon Theme et le reste, c po important, lol ::: http://www.alamandra-team-host.net/d...onatings02.php
ET le code PHP :::
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
| <?php
//
// MOD ALL CLASS DONATIONS SYSTEM : Viewdonatings page
//
require_once("backend/functions.php");
dbconn(false);
$site_config["LEFTNAV"] = false;
// Si la variable $_GET['sort'] existe...
if(!isset($_GET['sort'])) $sort = "id";
else $sort=intval($_GET['sort']);
print("$sort");
?>
<FORM method="post" action="aTESTviewdonatings02.php">
<TABLE>
<tr>
<td>Sort by:</td>
<td><select>
<OPTION value="">--Any--</OPTION>
<OPTION value="country">Country</OPTION>
<OPTION value="class">Class</OPTION>
<OPTION value="userid">User</OPTION>
<OPTION value="id">Don id</OPTION>
</select></td>
</tr>
<tr>
<td><INPUT type="submit" value="Sort now" name="sort"></td>
<td></td>
</tr>
</TABLE>
</FORM>
<?php
echo "<br><B><CENTER>Please <a href=staff.php>contact</a> a member of staff if you would like explanations on making a donation...</CENTER></B><BR><BR>";
$messagesParPage=10;
$retour_total=mysql_query('SELECT COUNT(*) AS total FROM donatings'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
$nombreDePages=ceil($total/$messagesParPage);
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle=intval($_GET['page']);
if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle=$nombreDePages;
}
}
else
{
$pageActuelle=1; // La page actuelle est la n°1
}
$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
$retour_messages=mysql_query('SELECT * FROM donatings ORDER BY '.$sort.' ASC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
print("$retour_messages");
if($nombreDePages == 0) { echo "<BR><B>No Donatings done yet</b><BR>\n"; }
else {
print("<table align=center cellpadding=3 cellspacing=0 class=table_table width=100% border=1>");
print("<tr><td class=table_head align=left>Don ID</td>
<td class=table_head align=center>User ID</td>
<td class=table_head align=center>Username</td>
<td class=table_head align=center>Country</td>
<td class=table_head align=center>Class</td>
<td class=table_head align=center>Level</td>
<td class=table_head align=center>Add</td>
<td class=table_head align=center>Duration</td>
<td class=table_head align=center>Expiry</td>
<td class=table_head align=center>Reason</td>
<td class=table_head align=center>Viped by</td>
<td class=table_head align=center>Money</td>
<td class=table_head align=center>Donated</td>
<td class=table_head align=center>Total Donated</td></tr>");
while($donnees_messages=mysql_fetch_assoc($retour_messages)) {
$countryname = get_user_country_name($donnees_messages[country]);
$wusername = get_user_name($donnees_messages[vipedby]);
if ($donnees_messages[duration] == '1') { $durationexpressed = "LIFETIME"; }
else { $durationexpressed = $donnees_messages[duration]; }
print("<tr><td class=table_col1 align=left>$donnees_messages[id]</td>
<td class=table_col2 align=center>$donnees_messages[userid]</td>
<td class=table_col1 align=center>$donnees_messages[username]</td>
<td class=table_col2 align=center>$countryname</td>
<td class=table_col1 align=center>$donnees_messages[class]</td>
<td class=table_col2 align=center>$donnees_messages[level]</td>
<td class=table_col1 align=center>$donnees_messages[added]</td>
<td class=table_col2 align=center>$durationexpressed</td>
<td class=table_col1 align=center>$donnees_messages[expiry]</td>
<td class=table_col2 align=center>".format_comment($donnees_messages['reason'])."</td>
<td class=table_col1 align=center>$wusername</td>
<td class=table_col2 align=center>$donnees_messages[money]</td>
<td class=table_col1 align=center>$donnees_messages[donated]</td>
<td class=table_col2 align=center>$donnees_messages[total_donated]</td></tr>\n");
}
echo "</table>";
}
echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo ' [ '.$i.' ] ';
}
else //Sinon...
{
echo ' <a href="aTESTviewdonatings02.php?page='.$i.'">'.$i.'</a> ';
}
}
echo '</p>';
?> |