Hello,

I am trying to echo fragment of HTML from a PHP page. The code goes as
follows:

The URLs that are being generated is a part of a custom framework that
we use. So the main.php?page=config_detail means that I go to main.php
which redirects me to a page called config_detail.php.

Code that has the anchor to the page generating the XHTML fragment:

<a id="all_data" name="main.php?
process=spec_run&amp;app={$sItem}&amp;all" style="color:#FFFFFF;">
view all </a>

So this goes to a page called spec_run at a specific location which is
not important for the problem that I have.

The request is handled by an AJAX Call (Jquery) as follows:

$(document).ready(function() {

        $("a#all_data").click(function() {

                var furl = $(this).attr("name");
                var turl = furl.split("?");
                var page = turl[0];
                var params = turl[1];

                $.ajax({                                //Building request
                    url: page,
                    type: 'GET',
                    data: params,
                    dataType: 'html',                //Datatype of the response
                    timeout: 10000000,
                    error: function(xhr,err,e) {
                          alert('error getting raw data' + err);
                    },
                    success: function(text){
                        $("table#detail_table").html(text);    //On Success, 
replacing the
table tag that has the id: "detail_table" with the contents that it
received
                        }
                });

                return false;

        });
});

The code that generates the XHTML on the spec_run page:

$print = "";
$print .= "<table id='detail_table'>";
$print .=  "<thead>";
$print .=  "<tr>";
$print .=  "<a class='sort_link' href='#'>Build</a>";
$print .=  "</th>";
$print .=  "<th>";
$print .=  "<a class='sort_link' href='#'>Config</a>";
$print .=  "</th>";
$print .=  "<th>";

for ($x=0; $x<$r; $x++) {
        if($x % 2 == 0)
             $print .= '<tr class="odd">';
        else
             $print .= '<tr class="even">';

//Build:
$print .= "<td>";
$print .= "<a href='main.php?page=build_detail&amp;app=" .
$_GET['app']. "&amp;build=" .$build_id_ex[$x]. "'>" .
$build_name_ex[$x]. "</a>";
$print .= "</td>";

//Config:

$print .= "<td>";
$print .= "<a href='" . "main.php?page=config_detail" . "&amp;" .
"app=" . $_GET['app'] . "&amp;" . "config=" . $config_id_ex[$x]. "'>" .
$config_name_ex[$x]. "</a>";
$print .= "</td>";


$print .= "</tr>";
$print .= "</tbody>";
$print .= "</table>";

echo $print;


The tables is being rendered correctly and everything else looks fine
except the anchor tags that have messed up ampersands. It actually
gets rendered as:

main.php?page=config_detail&#38;app=26&%2338;config=1000

which should ideally be:

main.php?page=config_detail&amp;app=26&amp;config=1000

Please advice,

Reply via email to