Come php if else e ritorno diversi div?

Sto cercando di creare un if-else, che tornerà diversi div. Credo che sta fallendo perché ci sono troppi ' nell’istruzione else.

<?php $blogentryid = get_the_ID(); 

if ($blogentryid=="1572") {
echo '<div>Hello</div>'
}

else {
echo '<div class="socialnews2"><!-- start div social-->

                                <div class="twitternews2">
                                <a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="<?php the_title(); ?>" d
ata-url="<?php the_permalink() ?>" data-via="giantmangocom">Tweet</a>
                                <script type="text/javascript">
                                //async script, twitter button fashiolista.com style
                                (function() {
                                var s = document.createElement('SCRIPT');
                                var c = document.getElementsByTagName('script')[0];
                                s.type = 'text/javascript';
                                s.async = true;
                                s.src = 'http://platform.twitter.com/widgets.js';
                                c.parentNode.insertBefore(s, c);
                                 })();
                                </script>
                                </div>
                        </div>
                                <div class="facebooknews2">
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>&amp;layout=button_count&
amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light;height=21"" scrolling="no" frameborder="0" style="border:none; overflow:hidden; wid
th:80px; height:21px;" allowTransparency="true"></iframe>
                                </div>'

}

?>
InformationsquelleAutor tokyowp | 2011-02-18



5 Replies
  1. 4

    Quando si desidera mostrare il condizionale contenuto, aprire e chiudere la <?php tag, invece di utilizzare l’eco delle dichiarazioni.

    <?php if ($blogentryid == "1572") { ?>
    
    <div>Hello</div>
    
    <?php } else { ?>
    
    <div class="socialnews2"><!-- start div social-->
    ... rest of content here
    
    <? } ?>

    Sarà anche garantire che il vostro codice php all’interno di un div viene valutata come previsto.

  2. 0

    Il ' in javascript sezioni devono essere sfuggito: \', altrimenti verrà visto da PHP come la fine della stringa che si sta facendo eco.

    Per il grande blob di testo, guardare in HEREDOCs, che consentono di uscita multi-linea, stringhe, senza alcuna preoccupazione circa la quotazione di fuggire.

    Così, non è possibile incorporare php blocchi all’interno di stringhe come siete:

    echo 'hello<?php echo "there" ?>'

    non funziona.

  3. 0

    non si può avere una <?php ?> tag all’interno di un <?php ?> tag.

    <?php .. data-text="<?php the_title(); ?>" ...?>

    forse fare qualcosa di simile a questo:

    <?php echo '... data-text="'; echo the_title(); echo '...'; ?>
  4. 0

    Questo codice è tutto il luogo.

    Alla fine di ogni riga di codice eseguibile, è necessario disporre di un punto e virgola (“;”) prima che la sintassi è considerato valido. Quando si sta cercando di assemblare PHP plus HTML, non è necessario eco tutto. Ecco una ripulita, la versione di codice riportato di seguito.

    Come si può vedere, quando non hai bisogno di alcuna PHP logica, si può finire con php ?> e tornare al normale HTML. Lei sembrava avere l’idea, ma è contenuto tutto in un echo istruzione. Che avrebbe funzionato, ma hai avuto qualche <?php echo $whatever; ?> dichiarazioni mista. Date un’occhiata al ripulito il codice che ho postato e si dovrebbe essere in grado di vedere dove si stava andando storto.

    <?php 
        $blogentryid = get_the_ID(); 
    
        if ($blogentryid=="1572") {
            echo '<div>Hello</div>';
        } else {
    ?>
    <div class="socialnews2"><!-- start div social-->'
        <div class="twitternews2">
            <a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="<?php the_title(); ?>" data-url="<?php the_permalink() ?>" data-via="giantmangocom">
                Tweet
            </a>
            <script type="text/javascript">
            //async script, twitter button fashiolista.com style
            (function() {
                var s = document.createElement('SCRIPT');
                var c = document.getElementsByTagName('script')[0];
                s.type = 'text/javascript';
                s.async = true;
                s.src = 'http://platform.twitter.com/widgets.js';
                c.parentNode.insertBefore(s, c);
                })();
            </script>
        </div>
        <div class="facebooknews2">
            <iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light;height=21"" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:80px; height:21px;" allowTransparency="true"></iframe>
        </div>
    </div>
    <?php
    } //end :: if
    ?>
  5. 0

    Per multiline stringhe che sono più complessi di quello che si sta suggerendo, vorrei suggerire semplicemente la fine del blocco php prima di effettuare l’uscita. Per esempio:

    <?php
        if($outputDiv1){?>
           <div id="1">Plain old unescaped html code</div>
         <?php }else{ //output div 2 ?>
            <div id="2">More html</div>
         <?php } ?>

    Trovo che questo metodo è molto più semplice. Se avete bisogno di accedere ad una variabile php dall’interno dell’html, basta aprire un altro blocco php come <input name="name" type="text" value="<?php echo $someVal; ?>" />

Lascia un commento