• User Attivo

    Problemi con una funzione

    Salve a tutti, ho un problema con una funzione php. A dire il vero non sono molto pratica con le funzioni e quindi è possibile che sbagli qualcosa.

    La funzione è la seguente

    [php]
    function start_graph($xml_graphics)
    {
    $idAzione = $_GET['idAzione'];
    global $xml;
    $graphic = $xml_graphics->getObjById("graphic1");
    $ds = $xml->getObjById("ds1");
    $ds->ds->dsConnect();
    $ds->ds->dsQuery("SELECT * FROM gantt WHERE idAzione="$idAzione" ORDER BY begin");
    $objtype = array(0=>"plot",1=>"title",2=>"scale");
    $i=3;
    while ($row = $ds->ds->dsGetRow())
    {
    $objtype* = "gantt";
    $type* = $row->type;
    $label* = $row->label;
    $begin* = $row->begin;
    $end* = $row->end;
    $i++;
    }
    $graphic->setProperty("objtype", $objtype);
    $graphic->setProperty("type", $type);
    $graphic->setProperty("label", $label);
    $graphic->setProperty("start", $begin);
    $graphic->setProperty("end", $end);
    }

    [/php]

    Il problema sta nel valore di $idAzione che utilizzo nella query. Questo valore non viene riconosciuto e difatti la query va in errore. Se invece sostituisco $idAzione con un valore fisso la query viene eseguita regolarmente.
    Ho controllato facendo un echo in precedenza e la variabile ha un suo valore, non è vuota. In che cosa sbaglio?


  • ModSenior

    Ciao freebreathe,

    nell'url da cui richiami la pagina, la variabile get è presente?


  • User Attivo

    Si è presente. Infatti se provo a visualizzarlo prima della funzione, il valore di idAzione è corretto


  • ModSenior

    Bisogna vedere com'è richiamata quella funzione...
    Metti all'interno della funzione:
    [php]print_r($_GET);[/php]
    E incolla qua l'array mostrato.


  • User Attivo

    Se questo comando lo scrivo prima della funzione, mi restituisce

    [php]
    Array ([idAzione] => 31)
    [/php]

    Se lo scrivo dentro la funzione non mi restituisce nulla.


  • ModSenior

    Posta lo script per intero...


  • User Attivo

    Eccolo
    [php]
    require_once("../jamp/class/system.class.php");
    $system = new ClsSystem(true);
    $xml = new ClsXML("dynamic_gantt.xml");
    $event = new ClsEvent($xml);
    $event->managerRequest();
    $idAzione = $_GET['idAzione'];
    function start_graph($xml_graphics)
    {
    $idAzione = $_GET['idAzione'];
    global $xml;
    $graphic = $xml_graphics->getObjById("graphic1");
    $ds = $xml->getObjById("ds1");
    $ds->ds->dsConnect();
    $ds->ds->dsQuery("SELECT * FROM gantt WHERE idAzione= $idAzione ORDER BY begin");
    $objtype = array(0=>"plot",1=>"title",2=>"scale");
    $i=3;
    while ($row = $ds->ds->dsGetRow())
    {
    $objtype* = "gantt";
    $type* = $row->type;
    $label* = $row->label;
    $begin* = $row->begin;
    $end* = $row->end;
    $i++;
    }
    $graphic->setProperty("objtype", $objtype);
    $graphic->setProperty("type", $type);
    $graphic->setProperty("label", $label);
    $graphic->setProperty("start", $begin);
    $graphic->setProperty("end", $end);
    }

    [/php]


  • ModSenior

    E la funzione dove viene richiamata?