sql >> データベース >  >> RDS >> Mysql

編集ページで選択したラジオボタンを表示

    このようなもの

    printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n", 
        ($subscribedrips == 'Yes' ? 'CHECKED' : ''));
    printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n",   
        ($subscribedrips == 'No'  ? 'CHECKED' : ''));
    

    動作します。三項演算子を使用して、'CHECKED'を挿入します。 または、$subscribedripsの値に基づいて、入力タグに空の文字列を入力します 。

    たとえば、switch:

    を使用して、より詳細な方法で行うこともできます。
    $sel_y = '';
    $sel_n = '';
    switch($subscribedrips)
    {
        case 'Yes':
            $sel_y = 'CHECKED';
            break;
        case 'No':
            $sel_n = 'CHECKED';
            break;
        default:
            // Neither need to be changed, so we dont even need this branch
            break;
    }
    
    printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n", $sel_y);
    printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n",   $sel_n); 
    

    本当に個人的な好み。

    更新されたSnippet1

    printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n", 
        ((array_key_exists('subscribedrips', $row) && $row['subscribedrips'] == 'Yes') ? 'CHECKED' : ''));
    printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n",   
        ((array_key_exists('subscribedrips', $row) && $row['subscribedrips'] == 'No')  ? 'CHECKED' : ''));
    

    更新されたSnippet2

    $sel_y = '';
    $sel_n = '';
    if(array_key_exists('subscribedrips', $row))
    {
        switch($row['subscribedrips'])
        {
            case 'Yes':
                $sel_y = 'CHECKED';
                break;
            case 'No':
                $sel_n = 'CHECKED';
                break;
            default:
                // Neither need to be changed, so we dont even need this branch
                break;
        }
    }
    
    printf('<input type="radio" name="subscribedrips" value="Yes" %s /> Yes'."\n", $sel_y);
    printf('<input type="radio" name="subscribedrips" value="No" %s /> No'."\n",   $sel_n); 
    

    最後の質問に関して、私たちのアプローチの違いは非常に単純ですが、もう一度(ああ!)スタイルの選択であり、どちらも同じ目標を達成し、両方の方法が「本番」PHPコードで使用されます。

    私の例では、入力タグ全体をPHPでビルドし、それを出力します。 Valentinasのアプローチは、静的テキストをPHP文字列から引き出し、HTMLに直接配置します。

    たとえば、次の行はすべて同じ出力になります。

    <?php printf("<strong>%s</strong>", $some_string); ?>
    
    <?php echo "<strong>$some_string</strong>"; ?>
    
    <?php echo "<strong>".$some_string."</strong>"; ?>
    
    <strong><?php echo $some_string; ?></strong>
    

    2つの方法の間に大きなパフォーマンスの違いがあるかどうかは疑わしいですが、強調する1つの外観上の違いがあります。

    • 構文の強調表示 -シンタックスハイライト付きのエディターを使用する場合、valentinasのアプローチにより、シンタックスハイライトでinputを適切にハイライトできます。 タグとその属性。私のアプローチを使用すると、文字列全体が同じように強調表示されます。 スクリーンショットはこちら notepad++が2つの方法をどのように強調しているかを示しています。

      ご覧のとおり、valentinasのアプローチにより、よりカラフルな表示が得られ、エラーの特定と追跡に役立つ可能性があります。

    タグ全体を条件付きで印刷する場合、コードのフォーマット方法に関しては微妙な違いがいくつかありますが、それらについて話す価値はありません。私の意見では、最大のものは構文の強調表示です。



    1. mysqlトリガーを介してmysqlの外部で任意のプログラムを実行できますか?

    2. SQL Serverで1つだけ選択して最後から2番目の行を取得しますか?

    3. OracleのタイプをHibernateにマップします

    4. SQL Server 内のすべてのデータベース ファイルに関する情報の一覧表示