← PHP

[Dúvida] Ordenar por nome do ficheiro

Lida 2013 vezes

Offline

nandotx 
Membro
Mensagens 1012 Gostos 1
Feedback +9

Troféus totais: 28
Trófeus: (Ver todos)
Apple User Mobile User Windows User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Tenho a seguinte listagem:

Código: [Seleccione]
<?php
ob_start
();
include(
"db.inc.php"); 

session_start();
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Lista de Faxes</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>

<script type="text/javascript" src="js/menu.js"></script>

</head>
<body>

<?php 

if((isset($_SESSION['data']))){
// Connect to server and select databse.
mysql_connect("$server""$username""$password")or die("cannot connect");
mysql_select_db("$database")or die("cannot select DB");

if((isset(
$_SESSION['data']) && $_SESSION['data']['type'] == 'A')){?>

<div id ="menu">
<ul>
<li><a href="index.php" > Criar Fax </a></li>
<li>......................................</li>
<li>
<a href="create_user.php" > Criar Utilizadores </a> </li><li>......................................</li>
<li><a href="list_users.php" > Editar Utilizadores </a> </li><li>......................................</li>

<li> <a href="logout.php" > Logout </a>
</ul>

</div>
<div id="list_faxes">

<?php


$sql
=("SELECT fax_name, date, name
FROM fax, users
WHERE fax.user_id = users.id order by date DESC"
);
}else if(isset(
$_SESSION['data']) && $_SESSION['data']['type'] == 'N' && $_SESSION['data']['permission'] == 0) {?>

<div id ="menu">
<ul>
<li><a href="index.php" > Criar Fax </a></li>
<li>......................................</li>
<li> <a href="edit_normal_user.php" > Editar dados pessoais </a> </li><li>......................................</li>

<li> <a href="logout.php" > Logout </a>
</ul>

</div>
<div id="list_faxes">
<?php
$id 
$_SESSION['data']['id'];
$sql=("SELECT fax_name, date, name
FROM fax, users
WHERE fax.user_id = users.id and fax.user_id =
$id order by date DESC");
}else if((isset(
$_SESSION['data']) && $_SESSION['data']['type'] == 'N' && $_SESSION['data']['permission'] == 1)){?>

<div id ="menu">
<ul>
<li><a href="index.php" > Criar Fax </a></li>
<li>......................................</li>
<li> <a href="list_faxes.php" > Ver Faxes Criados </a> </li><li>......................................</li>
<li> <a href="logout.php" > Logout </a>
</ul>

</div>
<div id="list_faxes"><?php
$sql
=("SELECT fax_name, date, name
FROM fax, users
WHERE fax.user_id = users.id order by date DESC"
);
}
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_numrows($result);


if(
$count == 0){?>

Não existem faxes criados ainda.<br>
<?php }else{ ?>
Escolha um dos faxes abaixo listados para visualizar:<br>
<div id="faxes_div">

<?php 
$current 
=0;?>


<?php while($data mysql_fetch_array($result)){
if(
$current != $data['date']){
if(
$current != 0)
echo 
"</div></ul>";?>

<h3> <?php echo $data['date'?> </h3><div id="box"><ul id="fax">

<?php $current $data['date']; ?>
<li><a id="links" href="pdf_files/<?php echo $data['fax_name'];?>"> <?php echo $data['fax_name']; ?></a> > <?php echo $data['name']; ?></li><br>
<?php ?>
</div>

</div>
<br><br>
</div>
<?php
}
}else{
$_SESSION['to_login'] = true;
header("location:login.php");
}
ob_flush();?>

</div>


</body>
</html>

Onde me separa por dias, mas pretendia uma em que colocasse tudo seguido e ordenado pelo nome do ficheiro, alguém me pode ajudar a conseguir isso? Obrigado!
Offline

STronic 
Elite
Mensagens 546 Gostos 8
Feedback +5

Troféus totais: 30
Trófeus: (Ver todos)
Mobile User Search Apple User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Onde tens:

Código: [Seleccione]
SELECT fax_name, date, name
FROM fax, users
WHERE fax.user_id = users.id order by date DESC

Substitui por:

Código: [Seleccione]
SELECT fax_name, date, name
FROM fax, users
WHERE fax.user_id = users.id order by fax_name

OU por: (uma vez que não sei qual a coluna do NOME)

Código: [Seleccione]
SELECT fax_name, date, name
FROM fax, users
WHERE fax.user_id = users.id order by name
Offline

nandotx 
Membro
Mensagens 1012 Gostos 1
Feedback +9

Troféus totais: 28
Trófeus: (Ver todos)
Apple User Mobile User Windows User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

O problema é que aquilo está dividido por caixas com as datas e eu queria apenas uma listagem limpa, com tudo seguido.
Offline

nandotx 
Membro
Mensagens 1012 Gostos 1
Feedback +9

Troféus totais: 28
Trófeus: (Ver todos)
Apple User Mobile User Windows User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Anyone?
Offline

nandotx 
Membro
Mensagens 1012 Gostos 1
Feedback +9

Troféus totais: 28
Trófeus: (Ver todos)
Apple User Mobile User Windows User Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3

Com o código em cima obtenho uma listagem de ficheiros separados por datas, onde cada data tem uma box, a primeira está aberta e mostra os ficheiros nela contidos as outras estão fechadas e conforme carrego na data elas abrem e mostram os ficheiros.

O que eu pretendo é a mesma coisa, mas separados por letras, ou seja, uma box com a letra "A" e todos os ficheiros que comecem por "a" estão lá dentro ordenados por datas e por ordem descente, e por ai fora até ao "Z".

Alguém me consegue alterar o código para obter essa listagem? Precisava disso a bombar com urgência.


Desde já muito agradecido por qualquer ajuda que me possam dar.