• User

    Ho una domanda per if e switch

    Ciao, prima di tutto non so che titolo dare quindi chiedo scusa,
    la mia domanda e questa, ho una colonna nel database con il nome di params
    e ho salvato dei valori tutti insieme come vachar i valori sono

    show_email=0
    show_email2=0
    show_piva=0

    adesso questi valori possono cambiare in

    show_email=1
    show_email2=1
    show_piva=1

    0 per nascondi.
    1 per mostra.

    questi valori sono cambiati con xml
    esem.
    <param name="show_email" type="radio" default="0" label="Show Email Address" description="Show/Hide the Email Address">
    <option value="0">Hide</option>
    <option value="1">Show</option>
    </param>

    adesso come devo fare e cosa devo usare per stampare a video solo le variabili con show_email=1 e non con show_email=0

    ps il valore di show_email la prendo da un altra colonna
    sempre della stessa tabella
    Grazie a tutti.


  • ModSenior

    Ciao spirit19,

    puoi aggiungere alla query:

    WHERE show_email = '1'
    

  • User

    Provato ma non funziona.


  • ModSenior

    Magari posta il codice usato...


  • User

    Il codice e il classico di joomla, in pratica era un componente di joomla, usato nel classico php ti metto il codice che uso per stampare il contenuto dell database

    [php]
    <?php include ("config.php");
    $query_sql = "SELECT id, name, alias, con_position, piva, address, suburb, state, country, postcode, telephone, telephone2, fax, misc, image, imagepos, email_to, email_to2, default_con, published, checked_out, checked_out_time, ordering, params, user_id, catid, access, mobile, mobile2, webpage, skype, yahoo_msg FROM jos_qcontacts_details";

    $link=mysql_connect ("$host","$user","$password") or die ("Errore di Connessione" .mysql_error());
    mysql_select_db ($db, $link) or die ("Errore Tabella non trovata" .mysql_error());
    $strsql_sql = mysql_query($query_sql, $link) or die(mysql_error());
    $sql = mysql_query($query_sql, $link) or die(mysql_error());
    echo "<table class="contact_right">
    <tr id="right">";
    while ($row_sql = mysql_fetch_assoc($sql))
    {
    echo "<td class="contact_right_td">";
    echo ("".$row_sql['con_position']." <br />");
    echo ("P.Iva: ".$row_sql['piva']."<br />" );
    echo ("".$row_sql['address']." <br />");
    echo ("".$row_sql['suburb']." <br />".$row_sql['postcode']." <br />");
    echo ("".$row_sql['state']."\n ".$row_sql['country']."<br />");
    echo ("Tel: ".$row_sql['telephone']." <br />");
    echo $row_sql['telephone2'];
    echo ("Fax: ".$row_sql['fax']." <br />") ;
    echo ("Cell: ".$row_sql['mobile']."<br />");
    echo $row_sql['mobile2'];
    echo ("".$row_sql['misc']."<br />");
    echo ("Email: ".$row_sql['email_to']."");
    echo "</td>";
    }

                                      echo "</tr>
       </table>";          
                                             ?>  
    

    [/php]
    Per inserimento e un classico form joomla che inserisce il valore del campo, poi e xml che dice se lo deve stampare, non so s mi hai capito.
    Ps. il panello admin e di joomla il sito pubblico no, in pratica l sito e fatto all 50% joomla al 50% php classico


  • ModSenior

    E cosi:
    [php]
    <?php include ("config.php");
    $query_sql = "SELECT id, name, alias, con_position, piva, address, suburb, state, country, postcode, telephone, telephone2, fax, misc, image, imagepos, email_to, email_to2, default_con, published, checked_out, checked_out_time, ordering, params, user_id, catid, access, mobile, mobile2, webpage, skype, yahoo_msg FROM jos_qcontacts_details WHERE show_email = '1'";

    $link=mysql_connect ("$host","$user","$password") or die ("Errore di Connessione" .mysql_error());
    mysql_select_db ($db, $link) or die ("Errore Tabella non trovata" .mysql_error());
    $strsql_sql = mysql_query($query_sql, $link) or die(mysql_error());
    $sql = mysql_query($query_sql, $link) or die(mysql_error());
    echo "<table class="contact_right">
    <tr id="right">";
    while ($row_sql = mysql_fetch_assoc($sql))
    {
    echo "<td class="contact_right_td">";
    echo ("".$row_sql['con_position']." <br />");
    echo ("P.Iva: ".$row_sql['piva']."<br />" );
    echo ("".$row_sql['address']." <br />");
    echo ("".$row_sql['suburb']." <br />".$row_sql['postcode']." <br />");
    echo ("".$row_sql['state']."\n ".$row_sql['country']."<br />");
    echo ("Tel: ".$row_sql['telephone']." <br />");
    echo $row_sql['telephone2'];
    echo ("Fax: ".$row_sql['fax']." <br />") ;
    echo ("Cell: ".$row_sql['mobile']."<br />");
    echo $row_sql['mobile2'];
    echo ("".$row_sql['misc']."<br />");
    echo ("Email: ".$row_sql['email_to']."");
    echo "</td>";
    }

                                      echo "</tr>
       </table>";          
                                             ?>  
    

    [/php]
    Non ti funziona?


  • User

    Mi dice Unknown column 'show_email' in 'where clause', comunque show_email=1 e il contenuto della colonna params.


  • ModSenior

    Forse ho capito ora cosa hai fatto, sarebbe opportuno salvare i parametri in campi ad essi dedicati, in questo modo riesci facilmente a strutturare la query come quella che ti ho scritto io senza dover leggere continuamente i campi.


  • User

    Basta fare un controllo:[php]
    if ($row_sql['show_piva'] == 1)
    {
    echo ("P.Iva: ".$row_sql['piva']."<br />" );
    }
    else
    {
    echo("L'utente ha deciso di nascondere la sua partita ivaè il testo alternativo)<br />");
    }
    [/php]così anche per gli altri casi ;).

    EDIT: Non avevo aggiornato e mi ero perso un bel pezzo di discussione... Scusate !!


  • User

    Ciao a tutti, allora ho eliminato i valori
    show_email=1
    show_email2=1
    show_piva=1
    e ho fatto una stringa per voce, telefono, email, ecc con valore iniziale Null cosi uso un if (valore !=NULL) per stampare se è (valore ==NULL) non stampo nulla.
    Grazie a tutti per l'aiuto.