Field Alignment in PHP

I have a code using <li> and <ul> for alignment. However, the displayed field can't be aligned properly, Any idea ?
Screen.png
page-furniture-index.inc.txt
AXISHKAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
First before you try to fix that, include a proper DOCTYPE just before '<html>'.  DOCTYPEs are the rules that the browser tries to apply to the page formatting.  The HTML5 DOCTYPE is the most current one.  Note that the DOCTYPEs are actual rules that the browser tries to follow and you need to follow them too to make your page display correctly.  Without a DOCTYPE like you have it now, each browser will display the page differently.  http://www.w3.org/QA/2002/04/valid-dtd-list.html

HTML5 DOCTYPE: <!DOCTYPE HTML>
AXISHKAuthor Commented:
Sorry, I attached a wrong source, should be this one...
page-furniture-products.inc.txt
Radek BaranowskiFull-stack Java DeveloperCommented:
there are no ul/il tags in the second code
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Ray PaseurCommented:
HTML formatting is not controlled by PHP; it's controlled by CSS.  Here are some links to help you get started.

http://www.w3.org/Style/CSS/learning.en.html (a collection)
http://www.codecademy.com/en/tracks/web (I have not used the CSS track, but the JavaScript track was excellent)
http://www.w3schools.com/css/ (appears to be fairly complete)

HTH, ~Ray

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Slick812Commented:
greetings  AXISHK, , I looked over your code in the file -
        page-furniture-products.inc.txt
there you use a HTML <table> to place ROWS of PRODUCTS, You ask -
       "However, the displayed field can't be aligned properly, Any idea ? "

Your <table> does align the columns as the CSS and HTML tells it to. You may need to try and learn about the positioning behavior of HTML <table> in it's <td> elements, so you can change the positions as you need to.
Before anything, you absolutely MUST NOT EVER HAVE anything between the <table> sections like -
   <tr> <td>
except spaces, tabs and line breaks. . . You can NOT place a <form> tag as you do with -
     echo "<form action='$_SERVER[PHP_SELF]' method='POST'>\n"
between the   </tr> and the next table <tr>, if you mix a <form> and a <table> together, as you do in this,  you need to have the <form> OUTSIDE of the <table> as the <table> container maybe like -

       echo "<form action='$_SERVER[PHP_SELF]' method='POST'>\n";
       echo "<input type='hidden' name='n_end' value='$n_end'>\n";
       echo "<input type='hidden' name='interest' value='$_POST[interest]'>";
// now place table inside of form
       echo "<table style='width: 100%'>\n";

In a <table>, any and all other HTML elements, need to be INSIDE of the beginning and end tags for <th> </th> or <td> </td>.

Your CSS uses inches as in -
       <body style='margin: .2in .2in 0'>
this is inconsistant for a screen display, and the browser can NOT interpret correctly that as inches. For screen use px or em.

Your bad alignment in the <table> is due to the default usual alignment for tables and your other text-align setting in the <td>

You might try to take out all <td> and <th> text-align css, and have your table be set as centered with -
      echo "<table style='width: 100%; text-align:center;'>\n";
ans see how that looks to you for alignment. If you still want the "Product Number" to be right aligned , then you can add the <td style='text-align: right;'> to the "Product Number" again.

Also you have two submit form buttons with a single same name, this is incorrect, all form inputs and buttons (submit) MUST have a different Unique name, not used as name anywhere else in that form.

ask questions if you need more info.
Ray PaseurCommented:
Also you have two submit form buttons with a single same name, this is incorrect, all form inputs and buttons (submit) MUST have a different Unique name, not used as name anywhere else in that form.
This is factually inaccurate.  It's perfectly fine to have multiple input controls of the same name.  Otherwise how could radio buttons work?  Default values can be given in hidden fields and these can be overridden by client inputs.  You can have two submit controls of the same name and different values in order to signal different actions in the action= script, something like this:

<input type="submit" name="x" value="Update" />
<input type="submit" name="x" value="Delete" />

Open in new window


Accurate information about how HTML forms work is available from the W3C.
http://www.w3.org/TR/html401/interact/forms.html
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
CSS

From novice to tech pro — start learning today.