ホームページ > バックエンド開発 > PHPチュートリアル > 並べ替えアルゴリズムを見つける

並べ替えアルゴリズムを見つける

WBOY
リリース: 2016-06-23 14:03:41
オリジナル
945 人が閲覧しました

大量のファイルを保存し、データベースへのパスを入力し、ページ番号 123456 の名前を付けます...ファイルを挿入したいのですが、アルゴリズムはどのように書けばよいでしょうか?
私のアイデアは、データからパスを呼び出し、挿入するページ数よりも大きい値をファイル名に追加して、データベースのファイル名をバッチで更新することです。しかし、データベースを実行しても応答しなくなりました。この考えは正しいでしょうか? ?
ソースコードは以下の通りです

$newpage//新页码$res = mysql_query("select id,page from table by page asc");while($arr=mysql_fetch_row($res)){		$arr2[$arr[0]]=$arr[1];	}	$count=count($arr2)+1;for($i=$newpage;$i<$count-$newpage;$i++){	$arr3[$i]=$arr2[$i]+1;}foreach($arr3 as $k=>$v){$q= mysql_query("update table set page = case id 		when $k  then $v ");}
ログイン後にコピー


ディスカッションへの返信(解決策)

$q= mysql_query("update table set page = case id when $k then $v ");

then とは何ですか? ?

case when...then.... 文の構造
バッチアップロード

誰か知っていますか? ?

1. 何を言っているのか分かりません。テーブルの構造と簡単な例を教えてください。
2. 単純な SQL で現在のコードの効果を実現できるはずです。
3. 「「リアクション」の実行後にデータベースが存在しない場合、それはエラーであるはずです。少なくともエラー メッセージを表示してください

私のアルゴリズムに確かに問題があり、いくつかの状況が考慮されていないことがわかりました。
現在の状況では、ファイル名は 1、2、3、4、5 などの数値シーケンスで名前が付けられており、パスはデータベースに保存されています。ファイル 5 を 2 の前に挿入したいと考えています。元のファイル名は 2、3、4 です。それに応じて 1 を追加する必要があります。他に何か良いアイデアや例はありますか?? 1 日考えましたが、まだ機能しません。ありがとう

更新。 ... set num=num+1 where num BETWEEN 2 and 5-1
update .. set num=2 where num=5

試してみましたが、まだ機能しません

それはあなたがやったからです要件を明確に説明していません

私は自分で問題を解決しました。モデレーターに感謝します。これから自分のアルゴリズムを書き出します。うまくいくことを願っています。他の人を助けてください。

すごいです

これは何のアルゴリズムですか?

時間をかけて問題を明確に説明した後、信じてください
貧弱なコンピューターに毎回それほど多くのクエリを実行させる必要はありません...

私問題は自分で解決しました。モデレーターに感謝します。これから自分のアルゴリズムを書きます。他の人の助けになれば幸いです。

PHP コード?123456789101112if(!empty($newpage)){/***$arr は挿入された配列、$page は現在のファイル名、$newpage は挿入されたページ番号です*/foreach ($arr as $k=>$v){ if ($v>=$newpage && $ヴ……

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート