Search code examples
phphtml-tablealignmentcenter

Two PHP tables side by side


I am new to PHP; please help me.

I am trying to align two PHP tables with images in them side by side but they are displaying one below the other. I want two tables side by side under one heading and two tables side by side under second heading. I've seen some solutions in HTML but I am looking for PHP. Please find screenshot of my error and my code below:

Please feel free to ask for any clarifications.

$prodcatSQL="select prodcatid, prodcatname, prodcatimage from prodcat"; // create an $sql variable and store the sql statement

$exeprodcatSQL=mysql_query($prodcatSQL) or die (mysql_error());

while ($arrayprod=mysql_fetch_array($exeprodcatSQL))


{

    echo "<strong>Using display: inline-block; </strong><br>\n"; 
    echo "<table border=1 class=\"inlineTable\">\n"; 
    echo "<tr>\n"; 
    echo "<td><p><a href=products.php?u_prodcatid=".$arrayprod['prodcatid'].">";
    echo $arrayprod['prodcatname'];
    echo "<p><img src=images/".$arrayprod['prodcatimage']."></p>";
    echo "</a></p></td>\n";
    echo "</tr>\n";
    echo "</table>\n";
}


echo "<h3><center>".$subheading."</center></h3>"; 

$treatcatSQL="select treatcatid, treatcatname, treatcatimage from treatcat"; // create an $sql variable and store the sql statement

$exetreatcatSQL=mysql_query($treatcatSQL) or die (mysql_error());

while ($arrayprod=mysql_fetch_array($exetreatcatSQL))


{


    echo "<strong>Using display: inline-block; </strong><br>\n"; 
    echo "<table border=1 class=\"inlineTable\">\n"; 
    echo "<tr>\n"; 
    echo "<td><p><a href=treatmentpackages.php?u_treatcatid=".$arrayprod['treatcatid'].">";
    echo $arrayprod['treatcatname'];
    echo "<p><img src=images/".$arrayprod['treatcatimage']."></p>";
    echo "</a></p></td>\n";
    echo "</tr>\n";
    echo "</table>\n";
}

Solution

  • You have nested <p> tags which may be introducing unnecessary new lines. Remove the

    tags and replace them with separate <td> elements and the alignment should be fine. $prodcatSQL="select prodcatid, prodcatname, prodcatimage from prodcat"; // create an $sql variable and store the sql statement

    $exeprodcatSQL=mysql_query($prodcatSQL) or die (mysql_error());
    
    while ($arrayprod=mysql_fetch_array($exeprodcatSQL))
    
    
    {
        echo "<strong>Using display: inline-block; </strong><br>\n"; 
        echo "<table border=1 class=\"inlineTable\">\n"; 
        echo "<tr>\n"; 
        echo "<td><a href=products.php?u_prodcatid=".$arrayprod['prodcatid'].">";
        echo $arrayprod['prodcatname'];
        echo "</a></td><td><a href=products.php?u_prodcatid=".$arrayprod['prodcatid']."><img src=images/".$arrayprod['prodcatimage'].">";
        echo "</td></a>\n";
        echo "</tr>\n";
        echo "</table>\n";
    }
    $treatcatSQL="select treatcatid, treatcatname, treatcatimage from treatcat"; // create an $sql variable and store the sql statement
    
    $exetreatcatSQL=mysql_query($treatcatSQL) or die (mysql_error());
    
    while ($arrayprod=mysql_fetch_array($exetreatcatSQL))
    
    
    {
    
    
        echo "<strong>Using display: inline-block; </strong><br>\n"; 
        echo "<table border=1 class=\"inlineTable\">\n"; 
        echo "<tr>\n"; 
        echo "<td><a href=treatmentpackages.php?u_treatcatid=".$arrayprod['treatcatid'].">";
        echo $arrayprod['treatcatname'];
        echo "</a></td><td><a href=treatmentpackages.php?u_treatcatid=".$arrayprod['treatcatid'].">";
        echo "<img src=images/".$arrayprod['treatcatimage']."></a>";
        echo "</td>\n";
        echo "</tr>\n";
        echo "</table>\n";
    }
    

    If this does not work, please edit the HTML output into the question.