Probleme tri tableau
Bonjour,je post se sujet car j'ai un probleme je voudrais trier mon tableau je ne suis pas trop doué en programmation. Voici mon code en esperant une reponse merci a vous.
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = "SELECT BU.username,BU.signup_date,BU.last_login,BU.avatar,BW.weblog
FROM bhost_users BU
LEFT OUTER JOIN bhost_weblogs BW
ON BU.u_id = BW.u_id";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo '<table>'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<th><b><u>avatar</u></b></th>';
echo '<th><b><u>Speudo</u></b></th>';
echo '<th><b><u>Date d inscrition</u></b></th>';
echo '<th><b><u>Derniere connexion</u></b></th>';
echo '<th><b><u>Blog</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
if($row[avatar] == "") {
echo '<td>'."<img src='../images/noavatar.gif' border='0' class='avatar' width='55' height='55'>".'</td>';
} else {
echo '<td>'."<img src='$row[avatar]' border='0' class='avatar' width='55' height='55'>".'</td>';
}
echo '<td bgcolor="#CCCCCC">'."<a href=profile.php?u=$row[username]>$row[username]</a>".'</td>';
echo '<td>'.date('d-m-Y', $row["signup_date"]).'</td>';
echo '<td bgcolor="#CCCCCC">'.date('d-m-Y', $row["last_login"]).'</td>';
if($row[weblog] == "") {
echo '<td>'."Pas de blog".'</td>';
} else {
echo '<td bgcolor="#CCCCCC">'."<a href=index.PHP?w=$row[weblog]>Voir Blog</a>".'</td>';
}
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = "SELECT BU.username,BU.signup_date,BU.last_login,BU.avatar,BW.weblog
FROM bhost_users BU
LEFT OUTER JOIN bhost_weblogs BW
ON BU.u_id = BW.u_id";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo '<table>'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<th><b><u>avatar</u></b></th>';
echo '<th><b><u>Speudo</u></b></th>';
echo '<th><b><u>Date d inscrition</u></b></th>';
echo '<th><b><u>Derniere connexion</u></b></th>';
echo '<th><b><u>Blog</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
if($row[avatar] == "") {
echo '<td>'."<img src='../images/noavatar.gif' border='0' class='avatar' width='55' height='55'>".'</td>';
} else {
echo '<td>'."<img src='$row[avatar]' border='0' class='avatar' width='55' height='55'>".'</td>';
}
echo '<td bgcolor="#CCCCCC">'."<a href=profile.php?u=$row[username]>$row[username]</a>".'</td>';
echo '<td>'.date('d-m-Y', $row["signup_date"]).'</td>';
echo '<td bgcolor="#CCCCCC">'.date('d-m-Y', $row["last_login"]).'</td>';
if($row[weblog] == "") {
echo '<td>'."Pas de blog".'</td>';
} else {
echo '<td bgcolor="#CCCCCC">'."<a href=index.PHP?w=$row[weblog]>Voir Blog</a>".'</td>';
}
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
Configuration: Windows XP Firefox 3.0.6
4 réponses
-
$select = "SELECT BU.username,BU.signup_date,BU.last_login,BU.avatar,BW.weblog
FROM bhost_users BU
LEFT OUTER JOIN bhost_weblogs BW
ON BU.u_id = BW.u_id"
ORDER BY BU.username ASC;
ORDER BY ... ASC : tri ascendant
ORDER BY ... DESC : tri descendant -
Merci a toi vraiment sympa. J ai une autre petite question , je voudrais que mon tableau une fois atteint 10 lignes change de page automatiquement, comment pourrai je faire?
-
$select = "SELECT BU.username,BU.signup_date,BU.last_login,BU.avatar,BW.weblog
FROM bhost_users BU
LEFT OUTER JOIN bhost_weblogs BW
ON BU.u_id = BW.u_id"
ORDER BY BU.username ASC
LIMIT 0, 10;
On utilise LIMIT pour sélectionner dix enregistrements. Je suis pas sûre que ça réponde à ta question. -
$select = "SELECT BU.username,BU.signup_date,BU.last_login,BU.avatar,BW.weblog FROM bhost_users BU LEFT OUTER JOIN bhost_weblogs BW ON BU.u_id = BW.u_id" ORDER BY BU.username ASC; $i = 0; $lien = 1; if ($_SESSION['lien'] == "") $_SESSION['lien'] = 1; elseif($_GET['lien'] != "") $_SESSION['lien'] = $_GET['lien']; $page = 'page <a href="?lien='.$lien.'">'.$lien.'</a>';
...
while($row = mysql_fetch_array($result)) { $i++; if ($i/$lien == 10) { $lien++; $page .= ' <a href="?lien='.$lien.'">'.$lien.'</a>'; } $table[$lien'] .= '<tr>'; if($row[avatar] == "") { $table[$lien'] .='<td>'."<img src='../images/noavatar.gif' border='0' class='avatar' width='55' height='55'>".'</td>'; } else { $table[$lien'] .= '<td>'."<img src='$row[avatar]' border='0' class='avatar' width='55' height='55'>".'</td>'; } $table[$lien'] .='<td bgcolor="#CCCCCC">'."<a href=profile.php?u=$row[username]>$row[username]</a>".'</td>'; $table[$lien'] .= '<td>'.date('d-m-Y', $row["signup_date"]).'</td>'; $table[$lien'] .= '<td bgcolor="#CCCCCC">'.date('d-m-Y', $row["last_login"]).'</td>'; if($row[weblog] == "") { $table[$lien'] .= '<td>'."Pas de blog".'</td>'; } else { $table[$lien'] .= '<td bgcolor="#CCCCCC">'."<a href=index.PHP?w=$row[weblog]>Voir Blog</a>".'</td>'; } $table[$lien'] .= '</tr>'."\n"; } echo $table[$_SESSION['lien']]; echo $page;