Page 1 of 1

[Resolved] Weird IE/FF Issue...

Posted: Wed Apr 09, 2008 1:32 pm
by sfowler
~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.


I know the subject doesn't seem to lend itself to the Database forum, but it does.

I've got a script that runs perfectly in Firefox, but in IE it does not run right. I've uploaded the results from each below.

It seems as if midway through the block of PHP code that it stops firing off mySQL requests. It is my understanding that the PHP portion of the code should be entirely run on the server (at least the whole block of code in one hit) so being in different browsers should not have affected the results coming out. I am completely baffled as to why this is happening. The code is down below:

Code: Select all

<?php
    include("upload.php");
    include("includes/dbconn.php");
?>
<link rel='stylesheet' type='text/css' href='css/main.css'>
<script type='text/javascript'>
     ....Omited 10 pages of javascript that should not affect the this problem....
</script>
<body onload='showTable()'>
<?
    function checkNeg($num)
    {
        if ($num < 0)
        {
            return "style='background-color: #ff0000;'";
        }
        else if ($num > 0)
        {
            return "style='background-color: #009900;'";
        }
        else
        {
            return "style='color: #cccccc;'";
        }
    }
        function checkBank($num, $bank)
    {
        if ($num < $bank)
        {
            return "style='background-color: #ff0000;'";
        }
        else if ($num > $bank)
        {
            return "style='background-color: #009900;'";
        }
        else
        {
            return "style='color: #cccccc;'";
        }
    }
    $resultMonths = mysql_query("SELECT * FROM months");
    $mon = mysql_fetch_assoc($resultMonths);
    $resultPG = mysql_query("SELECT DISTINCT(pg) FROM parts ORDER BY pg");
    echo "<fieldset style='border: 0px solid #000000;'>";
        echo "<legend><span class='fontClass'>Product Group: </span>";
            echo "<select id='topSel' name='topSel' class='selectClass' onchange='showTable();'>";
                while ($rowPG = mysql_fetch_assoc($resultPG))
                {
                    echo "<option value='".$rowPG['pg']."'>".$rowPG['pg']."</option>";
                }
            echo "</select><img src='' height='5' width='400' style='visibility: hidden;'><input type='button' value='View Changes' class='topButton' onmouseover=\"style.cursor='hand';\" onclick=\"window.open('viewChanges.php');\">";
        echo "</legend>";
        $resultPG = mysql_query("SELECT DISTINCT(pg) FROM parts ORDER BY pg");
        while ($rowPG = mysql_fetch_assoc($resultPG))
        {
            echo "<table border=0 cellspacing=0 cellpadding=0 id='$rowPG[pg]' style='display: none;'>\n";
                echo "<tr>";
                    echo "<td colspan='16' class='cellClassHeadLeft' style='font-size: 12pt; text-align: center'>Product Group: ".$rowPG['pg']."</td>";
                echo "</tr>";
            $resultParts = mysql_query ("SELECT * FROM parts WHERE pg='".$rowPG['pg']."' ORDER BY part");
            while ($rowParts = mysql_fetch_assoc($resultParts))
            {
                echo "<form method='post' action='saveChange.php' target=\"main\" id='".$rowParts['part']."_form'>";
                $resultSales = mysql_query("SELECT * FROM sales WHERE part='".$rowParts['id']."'");
                $rowSales = mysql_fetch_assoc($resultSales);
                $resultProd = mysql_query("SELECT * FROM prod WHERE part='".$rowParts['id']."'");
                $rowProd = mysql_fetch_assoc($resultProd);
                $resultDiff = mysql_query("SELECT * FROM diff WHERE part='".$rowParts['id']."'");
                $rowDiff = mysql_fetch_assoc($resultDiff);
                echo "<tr>\n";
                    echo "<td class='cellClass' colspan='16'>&nbsp;</td>\n";
                echo "</tr>\n";
                echo "<tr>\n";
                    echo "<td class='cellClassHeadLeft' class='cellClass' align='right'>Part:</td>\n";
                    echo "<td class='cellClassHeadRight' colspan='15'><input type='hidden' value='".$rowParts['part']."' name='part'><span style='color: #009900'>".$rowParts['part']."</span> - ".$rowParts['desc']."</td>\n";
                echo "</tr>\n";
                echo "<tr>\n";
                    echo "<td class='cellClass' colspan='5'></td>\n";
                    echo "<td class='cellClassHeadLeft'>Accum</td>\n";
                    echo "<td class='cellClassHeadRight'>B/S</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m1']."</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m2']."</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m3']."</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m4']."</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m5']."</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m6']."</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m7']."</td>\n";
                    echo "<td class='cellClassHeadRight'>".$mon['m8']."</td>\n";
                    echo "<td class='cellClassHeadRight'>Total</td>";
                echo "</tr>\n";
                echo "<tr>\n";
                    echo "<td class='cellClassTopLeft' align='right'>Open Orders</td>\n";
                    echo "<td class='cellClassTopRight'>".$rowParts['oo']."</td>\n";
                    echo "<td class='cellClassTopRight' align='right'>Future Orders</td>\n";
                    echo "<td class='cellClassTopRight'>".$rowParts['fo']."</td>\n";
                    echo "<td class='cellClassTopGrad' align='right'>Sales</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['acc']) ."><input type='hidden' id='".$rowParts['part']."_s_a' value='".$rowSales['acc']."'>".$rowSales['acc']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['bs']) ."><input type='hidden' id='".$rowParts['part']."_s_b' value='".$rowSales['bs']."'>".$rowSales['bs']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m1']) ."><input type='hidden' id='".$rowParts['part']."_s_m1' value='".$rowSales['m1']."'>".$rowSales['m1']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m2']) ."><input type='hidden' id='".$rowParts['part']."_s_m2' value='".$rowSales['m2']."'>".$rowSales['m2']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m3']) ."><input type='hidden' id='".$rowParts['part']."_s_m3' value='".$rowSales['m3']."'>".$rowSales['m3']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m4']) ."><input type='hidden' id='".$rowParts['part']."_s_m4' value='".$rowSales['m4']."'>".$rowSales['m4']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m5']) ."><input type='hidden' id='".$rowParts['part']."_s_m5' value='".$rowSales['m5']."'>".$rowSales['m5']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m6']) ."><input type='hidden' id='".$rowParts['part']."_s_m6' value='".$rowSales['m6']."'>".$rowSales['m6']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m7']) ."><input type='hidden' id='".$rowParts['part']."_s_m7' value='".$rowSales['m7']."'>".$rowSales['m7']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['m8']) ."><input type='hidden' id='".$rowParts['part']."_s_m8' value='".$rowSales['m8']."'>".$rowSales['m8']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowSales['tot']) ."><input type='hidden' id='".$rowParts['part']."_s_t' value='".$rowSales['tot']."'>".$rowSales['tot']."</td>\n";
                    echo "<td class='cellClassRight' rowspan='3' style='border-top: 1px solid #000000;' onmouseover=\"style.cursor='hand'; style.backgroundColor='#000099'; style.color='#ffffff';\" onmouseout=\"style.backgroundColor='#ffffff'; style.color='#000000';\" onclick=\"changeColors('".$rowParts['part']."'); document.getElementById('".$rowParts['part']."_form').submit();\">S<br>E<br>N<br>D</td>\n";
                echo "</tr>\n";
                echo "<tr>\n";
                    echo "<td class='cellClassLeft' align='right'>MTD Prod</td>\n";
                    echo "<td class='cellClassRight'>".$rowParts['mtdP']."</td>\n";
                    echo "<td class='cellClassRight' align='right'>MTD Ship</td>\n";
                    echo "<td class='cellClassRight'><input type='hidden' id='".$rowParts['part']."_mtdS' value='".$rowParts['mtdS']."'>".$rowParts['mtdS']."</td>\n";
                    echo "<td class='cellClassGrad' align='right'>Production</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowProd['acc']) ."><input type='hidden' id='".$rowParts['part']."_p_a' value='".$rowProd['acc']."'>".$rowProd['acc']."</td>\n";
                    echo "<td class='cellClassRight' align='right' ". checkNeg($rowProd['bs']) ."><input type='hidden' id='".$rowParts['part']."_p_b' value='".$rowProd['bs']."'>".$rowProd['bs']."</td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m1' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m1' value='".$rowProd['m1']."'></td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m2' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m2' value='".$rowProd['m2']."'></td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m3' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m3' value='".$rowProd['m3']."'></td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m4' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m4' value='".$rowProd['m4']."'></td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m5' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m5' value='".$rowProd['m5']."'></td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m6' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m6' value='".$rowProd['m6']."'></td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m7' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m7' value='".$rowProd['m7']."'></td>\n";
                    echo "<td class='cellClassRight' align='right'><input type='text' class='textClass' name='m8' onchange=\"updateFields('".$rowParts['part']."'); this.className = 'textClassChg';\" size='2' id='".$rowParts['part']."_p_m8' value='".$rowProd['m8']."'></td>\n";
                    echo "<td class='cellClassRight' align='right' id='".$rowParts['part']."_p_t'  ". checkNeg($rowProd['tot']) .">".$rowProd['tot']."</td>\n";
                echo "</tr>\n";
                echo "<tr>\n";
                    echo "<td class='cellClassLeft' align='right'>On Hand</td>\n";
                    echo "<td class='cellClassRight'><input type='hidden' id='".$rowParts['part']."_oh' value='".$rowParts['oh']."'>".$rowParts['oh']."</td>\n";
                    echo "<td class='cellClassRight' align='right'>Inv Bank</td>\n";
                    echo "<td class='cellClassRight'><input type='hidden' id='".$rowParts['part']."_bank' value='".$rowParts['bank']."'>".$rowParts['bank']."</td>\n";
                    echo "<td class='cellClassGrad' align='right'>Difference</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_a' align='right' ". checkBank($rowDiff['acc'], $rowParts['bank']) .">".$rowDiff['acc']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_b' align='right' ". checkBank($rowDiff['bs'], $rowParts['bank']) .">".$rowDiff['bs']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m1' align='right' ". checkBank($rowDiff['m1'], $rowParts['bank']) .">".$rowDiff['m1']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m2' align='right' ". checkBank($rowDiff['m2'], $rowParts['bank']) .">".$rowDiff['m2']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m3' align='right' ". checkBank($rowDiff['m3'], $rowParts['bank']) .">".$rowDiff['m3']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m4' align='right' ". checkBank($rowDiff['m4'], $rowParts['bank']) .">".$rowDiff['m4']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m5' align='right' ". checkBank($rowDiff['m5'], $rowParts['bank']) .">".$rowDiff['m5']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m6' align='right' ". checkBank($rowDiff['m6'], $rowParts['bank']) .">".$rowDiff['m6']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m7' align='right' ". checkBank($rowDiff['m7'], $rowParts['bank']) .">".$rowDiff['m7']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_m8' align='right' ". checkBank($rowDiff['m8'], $rowParts['bank']) .">".$rowDiff['m8']."</td>\n";
                    echo "<td class='cellClassRight' id='".$rowParts['part']."_d_t' align='right' ". checkBank($rowDiff['tot'], $rowParts['bank']) .">".$rowDiff['tot']."</td>\n";
                echo "</tr>\n";
                echo "</form>";
            }
            echo "</table>\n";
        }
    echo "</fieldset>\n";
    mysql_close($conn);
?>

~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.

Re: Weird IE/FF Issue...

Posted: Wed Apr 09, 2008 2:06 pm
by John Cartwright
hrmm..

perhaps try increasing the execution time limit.

Code: Select all

set_time_limit(60); //60 seconds 
ignore_user_abort(true); //if user closes browser finish request

Re: Weird IE/FF Issue...

Posted: Wed Apr 09, 2008 3:08 pm
by sfowler
Put that in the beginning, didn't work. Tried it at 120 as well. It only takes about 15 seconds for the page to process in firefox.

Re: Weird IE/FF Issue...

Posted: Thu Apr 10, 2008 5:04 am
by deejay
this may or may not help you at all

but i find the validator at wc3 http://validator.w3.org/ really helps me solve most IE/FF issues.

Re: Weird IE/FF Issue...

Posted: Thu Apr 10, 2008 5:09 am
by Benjamin
IE does not display empty cells. The first thing to fix is to ensure that <td></td> is never sent to the browser. Instead send <td>&nbsp;</td> That will fix some, if not all of the issues you see.

Re: Weird IE/FF Issue...

Posted: Thu Apr 10, 2008 7:22 am
by sfowler
I think I need to clarify. The data is there, those cells should never be empty. For some reason, when I run the page on IE my 'mysql_query' stop firing off. When it is run in FF the script runs completely through without error. Is there some sort of a difference between the ways Firefox and IE send the php code to the server that could be causing this?

Re: Weird IE/FF Issue...

Posted: Thu Apr 10, 2008 10:14 am
by EverLearning
Are you sure mysql_query() stops firing while rendering page in IE? Are you logging your queries and can confirm that they stopped?
sfowler wrote:Is there some sort of a difference between the ways Firefox and IE send the php code to the server that could be causing this?
Browsers do not send php code to server. Code is on server already, so you can just send data. Problem may be in the manner these browsers interpret data you send , or in data that is sent to server.

But i think the fastest way to resolve this, is to post some data which we can work with (db table structure and sample data, and what should end results be), so we can test ourselves. Otherwise, we'll just keep going in circles.

Re: Weird IE/FF Issue...

Posted: Thu Apr 10, 2008 8:20 pm
by Benjamin
Can you please post the output of the following code after you post to this page? I think your relying on something being a certain type someplace.

Code: Select all

 
echo '<pre>' . print_r($_POST, true) . '</pre>';
 
Also post the code that processes this posted data if you haven't already.

Re: Weird IE/FF Issue...

Posted: Mon Apr 14, 2008 2:30 pm
by sfowler
Resolved. It evidently had something to do with my scripting writing to many individual lines to the screen (too many echos). The thing that fixed the script was to concatenate all 40k lines of html that the script generated into one long string, then echo the string at the end.