Mysql
 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); 

Наистина лични предпочитания.

Актуализиран фрагмент 1

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' : ''));

Актуализиран фрагмент 2

$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 и го отпечатва. Подходът на Валентинас извлича статичния текст от 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>

Съмнявам се, че има значителна разлика в производителността между двата метода, но има една козметична разлика, която ще подчертая.

  • Открояване на синтаксиса - Ако използвате редактор с осветяване на синтаксиса, подходът на valentinas ще позволи на осветителя на синтаксиса да освети по подходящ начин input таг и неговите атрибути. Използвайки моя подход, целият низ ще бъде подчертан по същия начин. Ето екранна снимка показвайки как notepad++ подчертава двата метода.

    Както можете да видите, подходът на Валентина води до по-цветен дисплей, който може да помогне за идентифициране и проследяване на грешки.

Има някои фини разлики, когато става въпрос за това как вашият код трябва да бъде форматиран, ако искате условно да отпечатате целия таг, но не си струва да се говори за тях - най-голямата според мен е подчертаването на синтаксиса.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка в MySQL при създаване на външен ключ с миграция на Laravel

  2. MySQL Фатална грешка:Не може да се отвори и заключи таблици с привилегии:Неправилен файлов формат „потребител“

  3. Импортиране на огромен XML файл в MySQL

  4. MySQL - ИЗБЕРЕТЕ само 2 реда от всяка "група"

  5. импортиране на CSV в phpmyadmin