Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Na stronie edycji pokaż wybrany przycisk opcji

Coś takiego

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

Pracuje. Używa operatora trójargumentowego do wstawienia 'CHECKED' lub pusty ciąg do tagu input, na podstawie wartości $subscribedrips .

Możesz też zrobić to w bardziej gadatliwy sposób, na przykład za pomocą przełącznika:

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

Naprawdę osobiste preferencje.

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

Zaktualizowany fragment 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); 

Jeśli chodzi o twoje ostatnie pytanie, różnica między naszymi podejściami jest dość prosta, ale po raz kolejny (ahh!) jest to wybór stylu, obie osiągają ten sam cel, obie metody są używane w "produkcyjnym" kodzie PHP.

Mój przykład buduje cały tag input w PHP i drukuje go. Podejście Valentinasa wyciąga statyczny tekst z ciągów PHP i umieszcza go bezpośrednio w HTML.

Na przykład wszystkie poniższe wiersze dadzą ten sam wynik:

<?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>

Wątpię, czy istnieje jakakolwiek znacząca różnica w wydajności między tymi dwiema metodami, ale jest jedna kosmetyczna różnica, którą podkreślę.

  • Podświetlanie składni - Jeśli używasz edytora z podświetlaniem składni, podejście walentynek pozwoli podświetlaczowi składni odpowiednio podświetlić input tag i jego atrybuty. Stosując moje podejście, cały ciąg byłby podświetlony tak samo. Oto zrzut ekranu pokazuje, jak notepad++ wyróżnia te dwie metody.

    Jak widać podejście walentynek skutkuje bardziej kolorowym wyświetlaczem, co może pomóc w identyfikacji i śledzeniu błędów.

Istnieją pewne subtelne różnice, jeśli chodzi o formatowanie kodu, jeśli chcesz warunkowo wydrukować cały tag, ale tak naprawdę nie warto o nich mówić — moim zdaniem największą jest podświetlanie składni.



  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:instr określ granice słów

  2. Jak przekonwertować ludzką datę na uniksowy znacznik czasu w Mysql?

  3. Ranking MySQL top-N i suma reszty z tej samej grupy

  4. Jak uzyskać wartość kolumny bez dziesiętnej w MYSQL?

  5. Ostrzeżenie:nawiązywanie połączenia SSL bez weryfikacji tożsamości serwera nie jest zalecane