2016-08-25 4 views
0

私はpdfドキュメントをmysqlデータベースにアップロードしました。カラム名のアルファベット順にデータソート手法をアップロードする際は注意を払っていません。 次に、索引付けのためにアルファベット順のpdfファイルでデータをソートする必要があります。カラムIDとカラム名をソートする方法

$sql="SELECT * FROM upload ORDER BY name ASC"; 

私の問題は、どのようにアルファベット順にアルファベットとid列の列名でレコードをソートすることができるようにされても、番号1から始まる注文することができますか?どうやってするの?

それは私のソースコードです:私は意志それをあなたが求めるものを理解していますが名前およびまたはIDに注文したい場合は、単にこれを行う

$sql="SELECT * FROM upload ORDER BY name ASC, id ASC";

<tr> 
<td>No. </td> 
<td>File Name</td> 
<td>File Type</td> 
<td>File Size(KB)</td> 
<td>View</td> 
</tr> 
<?php 
$sql="SELECT * FROM upload ORDER BY name ASC"; 

$result_set=mysql_query($sql); 
$nomor=1; 
while($row=mysql_fetch_array($result_set)) 
$nomor++; 
{ 
    ?> 
    <tr> 

    <td><?php echo $row['name'] ?></td> 
    <td><?php echo $row['type'] ?></td> 
    <td><?php echo $row['size'] ?></td> 
    <td><a href="fileupload/<?php echo $row['name']?>" target="_blank">view file</a></td> 
    </tr> 
    <?php 
} 

?> 
+1

スクリーンショットを投稿しないでください。スキーマを 'SHOW CREATE TABLE'のテキストのように投稿します。 – tadman

+0

技術的なIDは注文とは関係ありません – Jens

+0

テーブルを最初に名前で、次にIDで注文しますか?それはあなたがしようとしていることですか?使用よりSELECT * FROMアップロードORDER BY名前ASC、ID ASC – kasoft

答えて

0

本当にわかりません最初に名前の上に発注してください。名前が重複している場合にのみ違いが見られます。

また、データの挿入時に並べ替えを気にすることなく、インデックスの順序付けに気を配りません。より高速にソートできるように、フィールドのインデックスを作成します。

あなたが名前にしてIDをソートしたいなら、あなたはあなたがGETパラメータにソートするために、すべての情報を与える必要があり

$sort = $_GET['sort'] ?: 'name'; // défaut sorting on name 

$query = "SELECT * FROM table WHERE ... ORDER BY $sort ASC"; //careful about SQL injection, protect $sort value with the escape method provided by your driver. 

変数を使用する必要があります。 phpmyadminのURLを見ると、それらが表示されます。

+0

私はそのクエリ$ sql = "SELECT * FROMアップロードORDER BY名前ASC、ID ASC"を使用していました。 – user3718278

+0

私はそのクエリを使用していました$ sql = "SELECT * FROMアップロードORDER BY名前ASC、ID ASC";結果はフィールド名は年代順、アルファベットでは適切なことがありますが、フィールドIDのフィールドIDではまだ問題があります。最初の順序は22ですが、最初の順序は1ですから、クエリを使用するとSELECT * FROMアップロードORDER BY名前ASC、id ASC;フィールドIDでは依然として発注できません。だからそれはどのように解決するために乱数からフィールドIDをリセットすることができますか? – user3718278

関連する問題