How do I apply CSS to the table generated into another window?


Tags: php,javascript,html,css

Problem :

I am unsure where to apply my CSS to the table I have generated. I am getting

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/content/08/10674308/html/venuesearch.php on line 133

My line 133 is this

$resultString .= "<div id=".table-2" class=\\\"results\\\">There are " .  $result->num_rows . " results for $city, $state:<br /><br /><table>";

Here is the code I am working with

<?php

    include "dbc.php"; 

    $query = <<<EOF
SELECT * FROM
    venueprofile 
WHERE 
    city= '$city' 
    AND 
    st= '$state'
    AND
    capacity 
    BETWEEN 
        $capacity1 
        AND 
        $capacity2; 
EOF;

if ($result = mysqli_query($dbc, $query)){
    $resultString = "<html>";
    $resultString .= "<head><link href=\\\"default.css\\\" rel=\\\"stylesheet\\\"       `enter code here`type=\\\"text/css\\\" media=\\\"all\\\" /></head><body>";  

    $resultString .= "<div id=".table-2" class=\\\"results\\\">There are " . $result-`enter code here`>num_rows . " results for $city, $state:<br /><br /><table>";

    $resultString .= "  <tr><thead><th></th>";
    $resultString .= "      <th>Venue Name</th>";
    $resultString .= "      <th>Capacity</th>";
    $resultString .= "      <th>City</th>";
    $resultString .= "      <th>State</th>";
    $resultString .= "      <th>Telephone</th>";
    $resultString .= "      <th>Contact</th>";
    $resultString .= "      <th>Email</th>";    
    $resultString .= "  </thead></tr>";
    $rowCount = 0;
    while ($row =mysqli_fetch_assoc($result))
    {
        $rowCount++;
        $resultString .= "<tbody><tr>";
        $resultString .= "<td>$rowCount</td>";
        $resultString .= "<td>" . $row['VenueName'] . "</td>";
        $resultString .= "<td>" . $row['capacity'] . "</td>";
        $resultString .= "<td>" . $row['city'] . "</td>";
        $resultString .= "<td>" . $row['st'] . "</td>";
        $resultString .= "<td>" . $row['tele'] . "</td>";
        $resultString .= "<td>" . $row['contact'] . "</td>";
        $resultString .= "<td>" . $row['EmailAddress'] . "</td>";       
        $resultString .= "</tr></tbody>";
    }
    $resultString .= "</table></div></body></html>";
?>
<script type="text/javascript">
    newWindow("resultsWindow"+(resultsWindows.length - 1),"<?php echo $resultString; ?`enter code here`>",400,400);
</script>
<?php

External CSS

#table-2 {
    border: 1px solid #e3e3e3;
    background-color: #f2f2f2;
        width: 100%;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}
#table-2 td, #table-2 th {
    padding: 5px;
    color: #333;
}


#table-2 thead {
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    padding: .2em 0 .2em .5em;
    text-align: left;
    color: #4B4B4B;
    background-color: #C8C8C8;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#e3e3e3), color-stop(.6,#B3B3B3));
    background-image: -moz-linear-gradient(top, #D6D6D6, #B0B0B0, #B3B3B3 90%);
    border-bottom: solid 1px #999;
}
#table-2 th {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 17px;
    line-height: 20px;
    font-style: normal;
    font-weight: normal;
    text-align: left;
    text-shadow: white 1px 1px 1px;
}
#table-2 td {
    line-height: 20px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 14px;
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
}
#table-2 td:hover {
    background-color: #fff;
}


Solution :

Your line has indeed an error, change this:

$resultString .= "<div id=".table-2" class=\\\"results\\\">There are " .  $result->num_rows . " results for $city, $state:<br /><br /><table>";

to this:

$resultString .= "<div id='table-2' class='results'>There are " .  $result->num_rows . " results for $city, $state:<br /><br /><table>";

The problem was with the way you concatenated table-2, because you used the . concatenation operator, and then didn't use it to concatenate it with the rest of the string. Also, you just wanted to concatenate table-2 as a stringe (as this is the id defined in your CSS) and not as a variable (which would be $table-2 anyways).

So that caused a bunch of mistakes.

Also, not sure why you did all that escaping, while you needed just one backslash or just using the single quotes inside your double quotes.


    CSS Howto..

    jQuery - How to animate text simultaneously to color change transition

    How do I resize the border of the body as the window resizes in CSS

    a div with height:1px appears very thicker in internet explorer 6. How to reduce it?

    How to Align text with respect to image css

    How to correctly align fixed header fully to top and left in CSS

    how can style be added to the first 2 list elements using CSS

    how to add string to the class javascript(jquery)

    Slideshow won't accept fixed height

    How to place circle and text in one line?

    How to pass a local file name to css-validator.jar?

    How to change this script into

    OS X is messing with me css, how to fix

    How to override previous onClick css class change (jQuery)

    CSS class is missed after jQuery replaceWith. How to fix?

    Ascii character codes shown as text in browser [duplicate]

    how to change css property of 2nd & 6rd DIV using jquery

    Bootstrap - how to make the image being scaled down to fit the window height?

    How to implement this kind of blur effect?

    How can I control when my css transitions happen and when they don't?

    CSS dropdown submenu with dynamic width: how to align left?

    How to align divs side by side without one being slightly lower?

    how can a media query detect a full-hd smartphone?

    css - why my text box is not showing up?

    How do I add a logo into the nav bar in CSS?

    How can set text row limit using angularJs ng-repeat?

    If div is visible, than show that content in other div with jQuery

    How to detect all events added on a div

    How to push elements after absolute element

    How to manage assets for modern/ancient browsers

    Using CSS to show/hide content. How do I make hide the default