0

私はこのブログ サイトを構築して、1 つのニュース記事に複数の写真をアップロードすることを考慮して、最終的にすべてを完了しました。

次に、次の写真を含む記事を削除します。すべてがデータベースに設定されているので、必要なのはニュース記事の ID だけです。

記事の削除ボタンを押すと、URL に ID が表示されます... URL から特定の ID int を取得する方法を知りたいのですが、よりスマートなアプローチがある場合。OOP およびオブジェクト指向アプローチである必要があります。

コードは次のようになります。

これは各記事のループアウトであり、押されたときに URL に表示するボタンに入れた $current_id に注意してください

    public function doOutputArticles($newsList, $pictureList)
    {

        $result = '';
        foreach($newsList as $news)
        {
           $result .= '<ul>';   
           $current_id = $news->dbNewsID;
           $result .= '<li class="bloggNewsHeader">'.$news->dbHeader.'</li>';
           $result .= '<li class="bloggNews">'.$news->dbNews.'</li>';
           $result .= '<li class="bloggNewsDate">'.$news->dbNewsDate.'</li>';
           foreach($pictureList as $pic)
           {
              if($pic->dbNewsID == $current_id)
              {
                $result .= '<li class="bloggNewsPicID">'.$pic->dbPictureID.'</li>';
                $result .= '<img class="bloggNewsPic" src="./images/'.$pic->dbPicture.'"alt="some_text">';
              }  
           }
           $result .= "
                        <form id='' method='get'>
                            <input type='hidden'    name='$current_id'/>
                            <input type='submit'      name='removeArticle' value='Ta bort inlägg' />
                        </form>";

           $result .= '</ul>';
        }
        return "<div id='filesLoaded'>". $result ."</div>";

    }

`

これが完了したら、ボタンを押して特定の記事を削除すると、ID が URL に表示されます。このメソッドは、URL で特定の INT/NUMBER ID を取得するためのものですが、どのように?

public function GetSelectedID()
    {       
        $ID = $_GET[self::$articleId];
        echo $ID;

        if(is_null($ID) || empty($ID))
        {
             return null;
        }
        else
        {
            echo $ID;
            return $ID;
        }

    }

`
敬具/ハリス

4

1 に答える 1

1

フォームは実際には必要ありません。単純なリンクで十分であり、より明確になります。「removeArticle」を探すのではなく、別のエンドポイントを使用して削除する必要があります。これは、条件付きでいっぱいの 1 つの無秩序なエンドポイントを持つのではなく、関数ごとに特定のアクション コントローラーを作成するための道を開くため、より OO になります。次に、URL から抽出する「articleId」などの一貫したパラメーターを (理想的には URL パス内に) 持つことができます。また、理想的には、完了時にリスト ページにリダイレクトして、各メソッドの機能に焦点を当てたままにし、二重投稿の問題を回避するためのプラクティスとしても使用することをお勧めします (ただし、この例はべき等であるため、それほど重要ではありません)。

于 2012-10-14T12:55:58.373 に答える