sql >> Databáze >  >> RDS >> Mysql

Na stránce úprav zobrazit vybraný přepínač

Něco jako toto

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

funguje. K vložení 'CHECKED' používá ternární operátor nebo prázdný řetězec do vstupní značky na základě hodnoty $subscribedrips .

Můžete to udělat i podrobnějším způsobem, například pomocí přepínače:

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

Osobní preference.

Aktualizovaný úryvek 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' : ''));

Aktualizovaný úryvek 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); 

Pokud jde o vaši poslední otázku, rozdíl mezi našimi přístupy je docela jednoduchý, ale opět (achh!) jde o výběr stylu, oba dosahují stejného cíle, obě metody se používají při „výrobě“ PHP kódu.

Můj příklad vytvoří celou vstupní značku v PHP a vytiskne ji. Valentinasův přístup vytahuje statický text z PHP řetězců a vkládá jej přímo do HTML.

Například všechny následující řádky povedou ke stejnému výstupu:

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

Pochybuji, že mezi těmito dvěma metodami existuje nějaký významný rozdíl ve výkonu, ale je tu jeden kosmetický rozdíl, který zdůrazním.

  • Zvýraznění syntaxe - Pokud používáte editor se zvýrazněním syntaxe, valentýnský přístup umožní zvýrazňovači syntaxe vhodně zvýraznit input tag a jeho atributy. Při použití mého přístupu by byl celý řetězec zvýrazněn stejně. Zde je snímek obrazovky ukazuje, jak notepad++ zvýrazňuje tyto dvě metody.

    Jak můžete vidět, valentýnský přístup vede k barevnějšímu zobrazení, což by mohlo pomoci identifikovat a vysledovat chyby.

Existuje několik drobných rozdílů, pokud jde o to, jak musí být váš kód naformátován, pokud chcete podmíněně vytisknout celý tag, ale nestojí za to o nich mluvit – podle mého názoru je největší zvýraznění syntaxe.



  1. Vyhledávání mysql necitlivé na diakritiku?

  2. Najděte odběratele, kteří se neobnovili v rámci limitu starého předplatného

  3. Nelze se připojit k MySQL v Cloudbees CommunicationsException:Selhání komunikačního spojení

  4. Alternativa k bitovému provozu