検索
ホームページバックエンド開発PHPチュートリアルPHP はツリーを横断します。 子ノードは複数の親ノードを持つことができます。 アドバイスをお願いします。

この投稿は asmd1234567 によって最終編集されました: 2013-09-12 11:56:42

php は複数の親ノードを走査します

親ノードが複数の子ノードを持つことができ、子ノードが存在することを示したいと考えています。ノードは複数を持つことができます 親ノードは、実行に失敗したため、自分が書いた関数が正しいかわかりません、ごめんなさい
 $result = array(); /*Parse error: syntax error, unexpected '=', expecting ',' or ';' *//*我本来希望这个是个全局的数组,但是上网查了一下,发现现在不可以了,不知道各位大神有没有什么好的方法,小弟在此谢过啦*/$result[0] = mysql_query("select cID,number,isbasicpart from relationship  where pID='{$id}'");/*cID为子节点号,isbasicpart为是否为叶节点,number为父子间的数量*/echo "<table cellpadding='0' cellspacing='0' border='0'>"; echo "<tr> <td> {$id}";$i=0; 	function buildtree($i){	 while($row = mysql_fetch_array($result[$i])){ if($row['isbasicpart']==1)  echo "<td>'--'<td>{$row['cID']}<td>'('<td> {$row['number']}<td>')'</tr>";else  { echo "<td>'--'<td>{$row['cID']}<td>'('<td> {$row['number']}<td>')'";           $i=$i+1;$sql="select cID,number,isbasicpart from relationship  where pID='{$row['cID']}'"; $result[$i]=mysql_query($sql); buildtree($i);}} echo '</table>';} buildtree(0);}

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

親ノードは複数を持つことができます複数の子ノードがあり、子ノードは複数の親ノードがあります
これはツリーとは呼ばれません、ネットワークと呼ばれます

あなたが持っているものは多対多です。 。 。 。

このコードを見るとめまいを感じませんか?

13 行目にグローバル $result を追加します
関数内の複数の td タグは閉じられていません
関数は複数のテーブル クローズ タグを生成しますが、テーブル オープン タグは 1 つだけです

親ノードは複数の子ノードを持つことができます、A子ノードは複数の親ノードを持つことができます
これはツリーとは呼ばれません、ネットワークと呼ばれます


思い出させてくれてありがとう:)

あなたのものは多対多です。 。 。 。

リマインダーをありがとう:)

13 行目にグローバル $result を追加します。
関数内の複数の td タグが閉じられていません
関数は複数のテーブル終了タ​​グを生成しますが、テーブル開始タグは 1 つだけです

ありがとうございますまだ問題はありますが、目標に一歩近づいています。 PHP 言語を学び始めたばかりですが、私の書いたコードがあまり良くないと言われました。問題の考え方が間違っているのか、それともコードが標準的な方法で書かれていないのかを聞きたいです。プログラミングが足りないために、良いアルゴリズムが思いつかないこともあると思います。もっと本を読んで古典的なアルゴリズムを覚える必要があるでしょうか?再度ご回答いただきありがとうございます、ありがとうございます!

再帰的にクエリを実行していること自体は問題ありません
クエリキーが正しいかどうかだけ注意してください

テーブルを使用して結果を出力する場合、タグが一致しない場合でも、正しいクエリ結果が生成されます結果が紛らわしいです
最初にテーブルを使用せず、結果を最初に置くことをお勧めします データは正しいです

続きを読む (ソースコード、重要なのは設計アイデアを見ることです。アルゴリズムに関しては、通常、基本的な Web ではあまり需要がありませんが、より詳細なコードを作成することは良いことです。最も重要なのは、設計フレームワークとパターンです。 (優れたソース コードの設計アイデアとコード仕様を参照してください)。

あとは、知識に不足がないように多面的に本を読むだけで、徐々に自分の知識体系を持つことができます

あなたはそうです 再帰クエリは問題ありません
クエリキーが正しいかどうかに注意してください正しいです

テーブルを使用して結果を出力する場合、タグが一致しない場合、正しいクエリ結果も混乱を招く結果を生成します
最初にテーブルを使用するのではなく、最初に正しいデータを取得することをお勧めします

ありがとうあなたは本当に!

もっと見る (ソース コード、重要なのは設計アイデアを確認することです。アルゴリズムに関しては、通常、基本的な Web ではあまり需要がありませんが、さらに深く掘り下げるのは良いことです。よりクールなコードを書くことができます。重要なのは設計フレームワークとパターン) もっと書く(読んだ良いソースコードの設計思想やコード仕様を参考にする)

あとは知識に不足がないように多角的に本を読むだけ、そして徐々に自分自身の知識体系を持つことができます


ありがとうございました、一生懸命頑張ります、私もあなたがもっと良くなるように祈っています:)

続きを読む (ソース コード、重要なのは設計アイデアを確認することです。アルゴリズムについては、通常、基本的な Web ではあまり需要がありませんが、さらに深く掘り下げることは良いことです。最も重要なのはデザイン フレームワークとパターンです)。さらに詳しく書いてください (デザインのアイデアとパターンを参照してください)。良いソースコードのコード仕様)

あとは、知識に不足がないように、多面的に本を読んで、徐々に自分の知識を発展させることができるシステム

もう一度聞きたいのですが、どこで見つけることができますか優れたソースコード?何か良い本やウェブサイト、あるいは良いコードを書いている人はいますか?

親ノードは複数の子ノードを持つことができ、子ノードは複数の親ノードを持つことができます
これは、ツリーとは呼ばれず、ネットワークと呼ばれます。これは、lz のようなツリーが存在する可能性があるという古典的な答えです。データ構造が明確ではありません。出力をループするにはどうすればよいですか?

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
11ベストPHP URLショートナースクリプト(無料およびプレミアム)11ベストPHP URLショートナースクリプト(無料およびプレミアム)Mar 03, 2025 am 10:49 AM

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Instagram APIの紹介Instagram APIの紹介Mar 02, 2025 am 09:32 AM

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelでフラッシュセッションデータを使用しますLaravelでフラッシュセッションデータを使用しますMar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

LaravelのバックエンドでReactアプリを構築する:パート2、ReactLaravelのバックエンドでReactアプリを構築する:パート2、ReactMar 04, 2025 am 09:33 AM

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelテストでの簡略化されたHTTP応答のモッキングLaravelテストでの簡略化されたHTTP応答のモッキングMar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPのカール:REST APIでPHPカール拡張機能を使用する方法PHPのカール:REST APIでPHPカール拡張機能を使用する方法Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプトCodecanyonで12の最高のPHPチャットスクリプトMar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP状況調査の発表2025 PHP状況調査の発表Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。