• User

    devo integrare del mio codice php in joomla.


  • Super User

    @danko said:

    devo integrare del mio codice php in joomla.

    un po' generico, non ti pare ? ;):D


  • User

    Dipende un po' anche da cosa fa il tuo codice, comunque per aggiungere php ad una pagina di contenuto Joomla puoi usare Mossnippet


  • User

    Ciao,

    approfitto della discussione sull'inserimento di codice php usando mossnippet.

    Per quanto riguarda il semplice codice php non ho problemi che invece sorgono, probabile per errore mio, quando nel codice php ci sono query al database.

    Una query del tipo:

    $result = $db->sql_query("SELECT DISTINCT campo1, campo2, etc. FROM tabella Where campo1= 'ABCD' ORDER BY campo2 DESC LIMIT 1");
    $numrows = $db->sql_numrows($result);
    if ($numrows > 0) {
    echo " ";
    while ($row = $db->sql_fetchrow($result)) { ..

    non funziona così come con lo sviluppo di calcoli aritmetici.

    Secondo voi devo scrivere le query in modo diverso? oppure usare l'include nello snippet?

    Grazie

    Nik


  • User

    Ma la tabella dov'è? Quelle istruzioni dovrebbero essere mysql_query, mysql_num_rows, mysql_fetch_row


  • User

    In che senso dov'è? è una delle tante tabelle che ho nel db sia in quello del nuke che in quello del joomla (per fare appunto le prove).

    La query che ho indicato l'ho inserita nell'index di un modulo nuke e funziona alla perfezione mentre se lo inserisco nello snippet insieme al resto del codice php e richiamo lo snippet da un contenuto statico il risultato è che il codice php viene interpretato come testo.

    Allora mi chiedevo se devo scrivere la query in modo che joomla la digerisca ...

    Nik


  • User

    Se quel codice viene da un modulo nuke non puoi copiarlo così com'è in Joomla. Devi usare o le funzioni generiche di php per l'accesso a mysql o, sicuramente meglio, le funzioni delle api di Joomla visto che la tabella l'hai copiata nel db di Joomla.

    Per Joomla 1.0 esiste una guida completa per sviluppatori in italiano ma il link non me lo fa mettere, (nè attivo nè non attivo non so perché) per cui devi fare una ricerca su Google

    per Joomla 1.5 trovi qualcosa anche sul mio blog in firma


  • User

    Capisco,

    cerco la guida e provo.

    Grazie

    Nik


  • User

    Ciao,

    ho inserito nello snippet 1 questo codice php:

    <?PHP
    mysql_connect("localhost", "db", "pwd");
    mysql_select_db("db_1");
    $sql = "SELECT DISTINCT campo1, DATE_FORMAT(timeStamps,'%d-%m-%Y') as campo2, campo3, campo4, FROM tabella Where
    campo1 = 'ABCD' ORDER BY timeStamps DESC LIMIT 1";
    $result=mysql_query($sql);

            echo "<br><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#ffffff\" width=\"580\" style=\"border-style: solid; border-width: 
    

    2">";
    while ($row = mysql_fetch_row($result)) {
    $campo1 = $row['campo1'];
    $campo2 = $row['campo2'];
    $campo3 = $row['campo3'];
    $campo4 = $row['campo4'];

    echo "<tr><td bgcolor="#E4ECF7"><b>cella1:</b><br><span class="liste">$campo1</span></td>

    <td bgcolor=\"#F7F7F7\"><b>cella2</b><br><span class=\"percp\">campo2</span></td>
    <td bgcolor=\"#E4ECF7\"><b>cella3</b><br><span class=\"liste\">$campo3</span></td>
    <td bgcolor=\"#F7F7F7\"><b>cella4</b><br><span class=\"liste\">$campo4</span></td></tr>";
        } 
         
        echo "</table>";
    

    ?>

    Per quanto rigurda la visualizzazione della tabella è tutto ok mentre mi per la query si presenta questo errore ripetuto tante volte quante sono le variabili:

    Notice: Undefined index: campo1 in c:\programmi\easyphp1-8\www\mambots\content\mossnippet.php(61) : eval()'d code on line 17

    Notice: Undefined index: campo2 in c:\programmi\easyphp1-8\www\mambots\content\mossnippet.php(61) : eval()'d code on line 18

    e così via..

    Considera che sto testando joomla in locale con easyphp1-8.

    Consigli?

    Grazie

    Nik


  • User

    Prova a cambiare

        while ($row = mysql_fetch_row($result)) { 
    

    in

        while ($row = mysql_fetch_assoc($result)) { 
    

    Se non funziona forse c'è qualche errore nella query.
    Aggiungi dopo

    $result=mysql_query($sql);

    questo per stampare un eventuale errore

    if (!$result) {
    echo "Errore: " . mysql_error();
    exit;
    }


  • User

    Ok,

    grazie, faccio le prove.

    Nik06