trouble with closing a div in the right place using php

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
kaiser0427
Forum Newbie
Posts: 9
Joined: Thu Apr 23, 2009 3:38 pm

trouble with closing a div in the right place using php

Post by kaiser0427 »

i need a </div> to go after every set of colors that belong to a vendor

here's my php code:

Code: Select all

print("<div id='$divID'><h4>".$div_header."</h4>");   //vendor
showData($relation_query, 3);
print("</div></div>");
print("<div id='$divID2'><h4>".$div_header2."</h4>"); // drop
showData($relation_query, 1);
print("</div></div>");
print("<div id='$divID3'><h4>".$div_header3."</h4>"); //color
showArrData($relation_query, 2);
print("</div>");
print("<div id='$divID4'><h4>".$div_header4."</h4>"); //desc
showArrData($relation_query, 4);
//print("</div>");
 
}
function showData($relation_query, $number){
$old_vendor_id = 0;
#loop through vendors
mysql_data_seek($relation_query, 0);
while ($row_array = mysql_fetch_row($relation_query)) {
    $vendor_id = $row_array[0];
    #if new vendor
    if ($vendor_id !=$old_vendor_id){
        #set up vendor info
        $vendor = $row_array[$number];
        # if existing vendor close table
        if ($old_vendor_id !=0)
            print ("</div>");
        #start a row for new vendor
        print("<div class='height'>$vendor");
    #new vendor no longer new
        $old_vendor_id = $vendor_id;
    }
    $color = $row_array[2];
    $desc = $row_array[4];
//  print("<p>");
}
}
function showArrData($relation_query, $number) {
$old_vendor_id = 0;
#loop through vendors
mysql_data_seek($relation_query, 0);
    while ($row_array = mysql_fetch_row($relation_query)) {
        $vendor_id = $row_array[0];
        #if new vendor
        if ($vendor_id !=$old_vendor_id){
            if ($old_vendor_id !=0)
                print("<div class='height'>");
        $old_vendor_id = $vendor_id;
        }
        $color = $row_array[$number];
        print("$color, ");
    }
print("</div>");
}
 
 
and here is the output and it does not closes the div after each color set. it opens a new div but doesn't close before opening.

Code: Select all

<div id="list">   <h3>List of vendors</h3><div id='vendorhead'><h4>Vendor Name</h4><div class='height'>a good vendor</div><div class='height'>Amy</div><div class='height'>best vendor ever</div><div class='height'>temp</div><div class='height'>temp1</div><div class='height'>Test</div><div class='height'>TIM</div></div><div id='drophead'><h4>Dropship?</h4><div class='height'>Yes</div><div class='height'>No</div><div class='height'>No</div><div class='height'>Yes</div><div class='height'>No</div><div class='height'>Yes</div><div class='height'>Yes</div></div> <div id='colorhead'><h4>Colors</h4>tan, <div class='height'>green, silver, silver, <div class='height'>yellow, <div class='height'>jj, jj, hh, hh, <div class='height'>as, as, ab, ab, <div class='height'>green, green, green, blue, blue, blue, black, black, black, green, green, green, blue, blue, blue, black, black, black, green, green, green, blue, blue, blue, black, black, black, <div class='height'>Red, </div></div><div id='deschead'><h4>Description</h4>tan desc, <div class='height'>blue desc, blue desc, blue desc, <div class='height'>yellow desc, <div class='height'>ff, ff, ff, ff, <div class='height'>bb, bb, bb, bb, <div class='height'>green desc, green desc, green desc, green desc, green desc, green desc, green desc, green desc, green desc, blue desc, blue desc, blue desc, blue desc, blue desc, blue desc, blue desc, blue desc, blue desc, black desc, black desc, black desc, black desc, black desc, black desc, black desc, black desc, black desc, <div class='height'>red 1desc, </div></div>   
i need it to look like this

Code: Select all

<div id='colorhead'><h4>Colors</h4><div class='height'>tan,</div><div class='height'>green, silver, silver,</div> <div class='height'>yellow,
instead of the above (this is pulled out to show the difference easier.)

Code: Select all

<div id='colorhead'><h4>Colors</h4>tan, <div class='height'>green, silver, silver, <div class='height'>yellow, 
thanks in advance
kaiser0427
Forum Newbie
Posts: 9
Joined: Thu Apr 23, 2009 3:38 pm

Re: trouble with closing a div in the right place using php

Post by kaiser0427 »

nevermind I fixed it after walking away for a few mins.
changed these lines

Code: Select all

Code:print("<div id='$divID3'><h4>".$div_header3."</h4><div class=height>"); //color
 
print("<div id='$divID4'><h4>".$div_header4."</h4><div class=height>"); //desc
 
 
and this one

Code: Select all

Code:
print("</div><div class='height'>");
Post Reply