sql >> Database teknologi >  >> RDS >> Mysql

Vis den valgte alternativknap på redigeringssiden

Sådan noget her

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

arbejder. Den bruger den ternære operator til enten at indsætte 'CHECKED' eller en tom streng i input-tagget, baseret på værdien af ​​$subscribedrips .

Du kan også gøre det på en mere udførlig måde, for eksempel med 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); 

Egentlig personlig præference.

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

Opdateret kodestykke 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); 

Med hensyn til dit sidste spørgsmål er forskellen mellem vores tilgange ret enkel, men endnu en gang (ahh!) det er et stilvalg, begge opnår det samme mål, begge metoder bruges i "produktion" af PHP-kode.

Mit eksempel bygger hele input-tagget i PHP og udskriver det. Valentinas' tilgang trækker den statiske tekst ud af PHP-strengene og sætter den direkte ind i HTML.

For eksempel vil følgende linjer alle resultere i det samme output:

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

Jeg tvivler på, at der er nogen væsentlig forskel i ydeevnen mellem de to metoder, men der er én kosmetisk forskel, som jeg vil fremhæve.

  • Syntaksfremhævning - Hvis du bruger en editor med syntaksfremhævning, vil Valentinas' tilgang tillade syntaksfremhævningen at fremhæve input korrekt. tag og dets attributter. Ved at bruge min tilgang vil hele strengen blive fremhævet på samme måde. Her er et skærmbillede viser, hvordan notepad++ fremhæver de to metoder.

    Som du kan se, resulterer Valentinas' tilgang i en mere farverig skærm, som kan hjælpe med at identificere og spore fejl.

Der er nogle subtile forskelle, når det kommer til, hvordan din kode skal formateres, hvis du vil betinget udskrive hele tagget, men de er ikke rigtig værd at tale om -- den største, efter min mening, er syntaksfremhævningen.



  1. Hvordan opretter man forbindelse til MySQL på Amazon EC2 fra Windows?

  2. SQL:Opdater en række og returner en kolonneværdi med 1 forespørgsel

  3. Hvorfor fortæller MySQL Workbench mig, at jeg har brug for et semikolon?

  4. MS-Access front-end genkender ikke datoer fra SQL Server