AlexLogic
AlexLogic

Reputation: 91

Dynamic Table with HTML and PHP

I show you my following problem .. I basically have the following database .. to understand it I think a practical example is the best way ..

I have a building site where N entrusters can intervene, these N trustees can in turn delegate N Sub-Affidiates. then pulling the sums I have some relationships between the three tables (which in my language are "Cantiere" "Affidataria" "SubAffidataria")

Building site 1 ------> N Reliable

Relater 1 -----> N Sub-Affidiates

Having said that my problem is the following I have to do a control panel in which for each construction site I have to show the carers and the sub-contractors. I would like to point out that the Sub-Affiliates do not have "direct" links with the Shipyards, but they have the FK of the Affilatories

It must be structured as follows ...

Under Each Relevant ("Affidataria") the results of the $ sql1 query must be placed Under each Subsidiary ("SubAffidatari") the results of the $ sql2 query must be placed.

The question is how do I divide everything by columns? I tried creating a dynamic HTML table .. but it does not work ..

I am attaching my proof ...

<!DOCTYPE html>
<?php 
    session_start();
    if(!isset($_SESSION["username"])){
        header('location: ../index.php');
    }else
    {

?>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_progettocantiere";


$idCantiere = $_GET["idCantiere"]; 
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT idCantiere,nomeCantiere,codiceCommessa,indirizzoCantiere FROM Cantiere WHERE idCantiere = '$idCantiere'";
$result = $conn->query($sql);


if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {

    echo'<h1 align="center">' . $row["codiceCommessa"] . '-' . $row["nomeCantiere"] . '</h1>';
    }


} else {
    echo "0 results";
}
$conn1 = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn1->connect_error) {
    die("Connection failed: " . $conn1->connect_error);
} 

$sql1 = "SELECT idAffidataria,nomeCantiere FROM Affidataria WHERE fkIDCantiere = '$idCantiere'";
$result1 = $conn1->query($sql1);


//echo "<script type='text/javascript'>alert('$idAffidataria');</script>";

if ($result1->num_rows > 0)
    {
    // output data of each row
    while($row1 = $result1->fetch_assoc()) 
    {



        echo'<br><br><br>';
        echo '<h1> Affidataria</h1>';
       echo '<a class="myButton" href="../../pagineHtml/visualizza/visualizzazione/affidatario.php?idAffidataria=' . $row1["idAffidataria"] . '">' . $row1["nomeCantiere"] . '</a>';
       echo '<h1> SubAffidatario</h1>';
        $idAffidataria = $row1["idAffidataria"];

        $conn2 = new mysqli($servername, $username, $password, $dbname);
// Check connection
    if ($conn2->connect_error) 
        {
    die("Connection failed: " . $conn2->connect_error);
        } 

    $sql2 = "SELECT * FROM SubAffidatario WHERE fkIdAffidataria = '$idAffidataria'";
    $result2 = $conn2->query($sql2);
    if ($result2->num_rows > 0)
        {
    // output data of each row
        while($row2 = $result2->fetch_assoc()) 
        {

      //  echo '<a class="myButton" href="../../pagineHtml/visualizza/visualizzazione/affidatario.php?idAffidataria=' . $row1["idAffidataria"] . '">' . $row1["nomeCantiere"] . '</a>';
        echo'<br><br><br>';
        echo '<a class="myButton" href="../../pagineHtml/visualizza/visualizzazione/affidatario.php?idAffidataria=' . $row2["ragioneSocialeSubAffidatario"] . '">' . $row2["ragioneSocialeSubAffidatario"] . '</a>';
        }
    //echo'<br><br><br>';
    //echo '<a href="../pagineHtml/inserimento/inserimentoGenerale/inserimentoCantiere.php" class="myButton" alt="Nuovo Cantiere +">Nuovo Cantiere +</a>';

        } 
        else {
        echo "0 results";
        }

    }
    //echo'<br><br><br>';
    //echo '<a href="../pagineHtml/inserimento/inserimentoGenerale/inserimentoCantiere.php" class="myButton" alt="Nuovo Cantiere +">Nuovo Cantiere +</a>';

    } 
    else
    {
    echo "0 results";
    }


$conn->close();

$conn1->close();


$conn2->close();


?>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>Progetto Cantiere</title>
    <!-- Bootstrap -->
    <link href="../paginaIniziale/css/bootstrap-4.0.0.css" rel="stylesheet">
  </head>
    <style>

    .myButton {
    -moz-box-shadow:inset 0px 1px 0px 0px #97c4fe;
    -webkit-box-shadow:inset 0px 1px 0px 0px #97c4fe;
    box-shadow:inset 0px 1px 0px 0px #97c4fe;
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #3d94f6), color-stop(1, #1e62d0));
    background:-moz-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:-webkit-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:-o-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:-ms-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:linear-gradient(to bottom, #3d94f6 5%, #1e62d0 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3d94f6', endColorstr='#1e62d0',GradientType=0);
    background-color:#3d94f6;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    border-radius:6px;
    border:1px solid #0f73ff;
    display:inline-block;
    cursor:pointer;
    color:#ffffff;
    font-family:Arial;
    font-size:28px;
    font-weight:bold;
    padding:32px 76px;
    text-decoration:none;
    text-shadow:0px 1px 0px #1570cd;
}
.myButton:hover {
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #1e62d0), color-stop(1, #3d94f6));
    background:-moz-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:-webkit-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:-o-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:-ms-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:linear-gradient(to bottom, #1e62d0 5%, #3d94f6 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1e62d0', endColorstr='#3d94f6',GradientType=0);
    background-color:#1e62d0;
}
.myButton:active {
    position:relative;
    top:1px;
}

    </style>

  <body>


  </body>
</html>
<?php } ?>

and this is the result I got:

enter image description here

Upvotes: 1

Views: 65

Answers (2)

ErDiablo
ErDiablo

Reputation: 189

Try this, but I'm not sure if it's what you asked for, because I did not understand what you wanted.

    <?php 

    session_start();

    if(!isset($_SESSION["username"])){
        header('location: ../index.php');
    }



    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "my_progettocantiere";



    $idCantiere = $_GET["idCantiere"]; 

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) 
    {
        die("Connection failed: " . $conn->connect_error);
    } 

?>

<!DOCTYPE html>

<html lang="en">

    <head>

        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Progetto Cantiere</title>
        <!-- Bootstrap -->
        <link href="../paginaIniziale/css/bootstrap-4.0.0.css" rel="stylesheet">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">


    </head>

    <body>

        <div class="container">

            <div class="row">

                <?php

                    $sql = "SELECT idCantiere,nomeCantiere,codiceCommessa,indirizzoCantiere FROM Cantiere WHERE idCantiere = '$idCantiere'";

                    $result = $conn->query($sql);


                    if ($result->num_rows > 0) {

                        while($row = $result->fetch_assoc()) 
                        {   

                            ?>
                                <div class="col-sm-12">
                                    <h1> <?php echo $row["codiceCommessa"] . '-' . $row["nomeCantiere"] ?></h1>
                                </div>
                            <?php
                        }

                    } else {

                        echo "0 results";

                    }

            ?>
            </div>

                <?php                           
                    $sql1 = "SELECT idAffidataria,nomeCantiere FROM Affidataria WHERE fkIDCantiere = '$idCantiere'";
                    $result1 = $conn->query($sql1);


                    if ($result1->num_rows > 0)
                    {
                        // output data of each row
                        while($row1 = $result1->fetch_assoc()) 
                        {

                            ?>  
                            <div class="row">

                                <div class="col-sm-11 offset-sm-1">

                                    <h1>Affidataria</h1>
                                    <a class="myButton" href="../../pagineHtml/visualizza/visualizzazione/affidatario.php?idAffidataria= <?php echo $row1["idAffidataria"] ?>">
                                        <?php echo $row1["nomeCantiere"] ?> 
                                    </a>

                                </div>


                                <div class="col-sm-6 offset-sm-2">
                                    <h1>SubAffidatario</h1>

                                    <?php

                                        $idAffidataria = $row1["idAffidataria"];

                                        $sql2 = "SELECT * FROM SubAffidatario WHERE fkIdAffidataria = '$idAffidataria'";
                                        $result2 = $conn->query($sql2);

                                        if ($result2->num_rows > 0)
                                        {
                                            // output data of each row
                                            while($row2 = $result2->fetch_assoc()) 
                                            {
                                                ?>  
                                                    <div class="col-sm-10">
                                                        <br>
                                                        <a class="myButton" href="../../pagineHtml/visualizza/visualizzazione/affidatario.php?idAffidataria=<?php echo $row2["ragioneSocialeSubAffidatario"]  ?>"> 
                                                            <?php echo $row2["ragioneSocialeSubAffidatario"]  ?>

                                                        </a>
                                                    </div>
                                                <?php
                                            }

                                        }else {
                                            echo "0 results";
                                        }

                        }

                            ?>
                                </div>
                            <?php

                    }else{

                        echo "0 results";

                    }

                    $conn->close();

                ?>

            </div>
        </div>

    </body>

</html>

Upvotes: 0

NarcosZTK_10
NarcosZTK_10

Reputation: 147

Try with the following code ..

<!DOCTYPE html>
<?php 
    session_start();
    if(!isset($_SESSION["username"])){
        header('location: ../index.php');
    }else
    {

?>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_progettocantiere";


$idCantiere = $_GET["idCantiere"]; 
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "SELECT idCantiere,nomeCantiere,codiceCommessa,indirizzoCantiere FROM Cantiere WHERE idCantiere = '$idCantiere'";
$result = $conn->query($sql);


if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {

    echo'<h1 align="center">' . $row["codiceCommessa"] . '-' . $row["nomeCantiere"] . '</h1>';
    }


} else {
    echo "0 results";
}
$conn1 = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn1->connect_error) {
    die("Connection failed: " . $conn1->connect_error);
} 

$sql1 = "SELECT * FROM Affidataria WHERE fkIDCantiere = '$idCantiere'";
$result1 = $conn1->query($sql1);


//echo "<script type='text/javascript'>alert('$idAffidataria');</script>";

if ($result1->num_rows > 0)
    {
    // output data of each row
    while($row1 = $result1->fetch_assoc()) 
    {



        echo '<table align="center" border="3px" width = "900px">';

    echo '<tr>';
        echo '<td><h1>Anagrafica</h1>';
        echo '<td><h1> Affidataria</h1></td>';
        echo '<td><h1> SubAffidatario</h1></td></tr>';
        echo '<tr><td><a class="myButton" href="../../pagineHtml/modifica/modifica/inserimentoCantiere.php?idCantiere=' . $row1["fkIDCantiere"] . '">Anagrafica</a></td>';
        echo '<td><a class="myButton" href="../../pagineHtml/modifica/modifica/affidatario.php?idAffidataria=' . $row1["idAffidataria"] . '">' . $row1["nomeCantiere"] . '</a></td></tr>';

        $idAffidataria = $row1["idAffidataria"];

        $conn2 = new mysqli($servername, $username, $password, $dbname);
// Check connection
    if ($conn2->connect_error) 
        {
    die("Connection failed: " . $conn2->connect_error);
        } 

    $sql2 = "SELECT * FROM SubAffidatario WHERE fkIdAffidataria = '$idAffidataria'";
    $result2 = $conn2->query($sql2);
    if ($result2->num_rows > 0)
        {
    // output data of each row
        while($row2 = $result2->fetch_assoc()) 
        {

      //  echo '<a class="myButton" href="../../pagineHtml/visualizza/visualizzazione/affidatario.php?idAffidataria=' . $row1["idAffidataria"] . '">' . $row1["nomeCantiere"] . '</a>';
        echo'<br><br><br>';
        echo '<tr>';
        echo '<td></td>';
        echo '<td></td>';
        echo '<td><a class="myButton" href="../../pagineHtml/modifica/modifica/subAffidatario.php?idSubAffidatario=' . $row2["idSubAffidatario"] . '">' . $row2["ragioneSocialeSubAffidatario"] . '</a></td>';
        }
    //echo'<br><br><br>';
    //echo '<a href="../pagineHtml/inserimento/inserimentoGenerale/inserimentoCantiere.php" class="myButton" alt="Nuovo Cantiere +">Nuovo Cantiere +</a>';

        } 
        else {
        echo "0 results";
        }

    }
    //echo'<br><br><br>';
    //echo '<a href="../pagineHtml/inserimento/inserimentoGenerale/inserimentoCantiere.php" class="myButton" alt="Nuovo Cantiere +">Nuovo Cantiere +</a>';

    } 
    else
    {
    echo "0 results";
    }
    echo'</tr>';
    echo '</table>';

$conn->close();

$conn1->close();


$conn2->close();


?>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>Progetto Cantiere</title>
    <!-- Bootstrap -->
    <link href="../paginaIniziale/css/bootstrap-4.0.0.css" rel="stylesheet">
  </head>
    <style>

    .myButton {
    -moz-box-shadow:inset 0px 1px 0px 0px #97c4fe;
    -webkit-box-shadow:inset 0px 1px 0px 0px #97c4fe;
    box-shadow:inset 0px 1px 0px 0px #97c4fe;
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #3d94f6), color-stop(1, #1e62d0));
    background:-moz-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:-webkit-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:-o-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:-ms-linear-gradient(top, #3d94f6 5%, #1e62d0 100%);
    background:linear-gradient(to bottom, #3d94f6 5%, #1e62d0 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3d94f6', endColorstr='#1e62d0',GradientType=0);
    background-color:#3d94f6;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    border-radius:6px;
    border:1px solid #0f73ff;
    display:inline-block;
    cursor:pointer;
    color:#ffffff;
    font-family:Arial;
    font-size:28px;
    font-weight:bold;
    padding:32px 76px;
    text-decoration:none;
    text-shadow:0px 1px 0px #1570cd;
}
.myButton:hover {
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #1e62d0), color-stop(1, #3d94f6));
    background:-moz-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:-webkit-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:-o-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:-ms-linear-gradient(top, #1e62d0 5%, #3d94f6 100%);
    background:linear-gradient(to bottom, #1e62d0 5%, #3d94f6 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1e62d0', endColorstr='#3d94f6',GradientType=0);
    background-color:#1e62d0;
}
.myButton:active {
    position:relative;
    top:1px;
}

    </style>

  <body>


  </body>
</html>
<?php } ?>

Upvotes: 1

Related Questions