sql >> Base de Datos >  >> RDS >> Mysql

En la página de edición, muestra el botón de opción seleccionado

Algo como esto

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

obras. Utiliza el operador ternario para insertar 'CHECKED' o una cadena vacía en la etiqueta de entrada, según el valor de $subscribedrips .

También podría hacerlo de una manera más detallada, por ejemplo, con el interruptor:

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

Preferencia personal realmente.

Fragmento 1 actualizado

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

Fragmento 2 actualizado

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

Con respecto a su última pregunta, la diferencia entre nuestros enfoques es bastante simple, pero una vez más (¡ahh!) Es una elección de estilo, ambos logran el mismo objetivo, ambos métodos se utilizan en el código PHP de "producción".

Mi ejemplo crea la etiqueta de entrada completa en PHP y la imprime. El enfoque de Valentinas extrae el texto estático de las cadenas de PHP y lo coloca directamente en HTML.

Por ejemplo, las siguientes líneas darán como resultado el mismo resultado:

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

Dudo que haya una diferencia de rendimiento significativa entre los dos métodos, pero hay una diferencia estética que destacaré.

  • Resaltado de sintaxis - Si usa un editor con resaltado de sintaxis, el enfoque de valentinas permitirá que el resaltador de sintaxis resalte adecuadamente la input etiqueta y sus atributos. Usando mi enfoque, toda la cadena se resaltaría de la misma manera. Aquí hay una captura de pantalla mostrando cómo notepad++ resalta los dos métodos.

    Como puede ver, el enfoque de valentinas da como resultado una pantalla más colorida, lo que podría ayudar a identificar y rastrear errores.

Hay algunas diferencias sutiles cuando se trata de cómo debe formatearse su código si desea imprimir condicionalmente la etiqueta completa, pero realmente no vale la pena hablar de ellas; la más importante, en mi opinión, es el resaltado de sintaxis.