每个结果都出现在一个表而不是行中

时间:2018-02-08 07:13:25

标签: php css mysqli html-table

这是我用于搜索的php代码,但为什么结果没有像在带有行的单个表中那样出现。我尝试像title那样更改PHP,但是出现了错误。我编码不好,所以我不确定应该怎么做。所以它看起来如何:

like this

所有结果都出现在表格中。这是因为我的CSS而发生的吗?



'<td>','<div>' . $row['$accountcode']. '</div>','</td>'
&#13;
table,tr,td,th {
  border: 1px solid black;
  white-space: normal;
}

table tr td:nth-child(1) {
    background-color: red;
}

table {
  /*table-layout: fixed;
  width: 140%;*/
  margin-left: 190px;
  margin-right: 10px;
  display: block;
  overflow-y: auto;
  height: 450px;
}

th > td > div {
  max-width: 300px;
  min-width: 50px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

它没有出现在一张表中,因为你为每条记录创建了一个新表。只需从while循环中取出<table标记即可。

echo"<table>";
 while($row = mysqli_fetch_array($res))
                {
                    $accountcode = $row['accountcode'];
                    $department = $row['department'];
                    $person_in_charge = $row['person_in_charge'];
                    $project_title = $row['project_title'];
                    $objective = $row['objective'];
                    $how_to_do = $row['how_to_do'];
                    $activities = $row['activities'];
                    $project_started = $row['project_started'];
                    $project_completed = $row['project_completed'];
                    $target_cost_saving = $row['target_cost_saving'];
                    $costsaving_afterjustification = $row['costsaving_afterjustification'];
                    $costsaving_monthly = $row['costsaving_monthly'];

                    echo "
                            <tr>
                                <td><div>Account Code</div></td>
                                <td><div>Department</div></td>
                                <td><div>Person in charge</div></td>
                                <td><div>Project title</div></td>
                                <td><div>Objective</div></td>
                                <td><div>How To Do</div></td>
                                <td><div>Activities</div></td>
                                <td><div>Project Started</div></td>
                                <td><div>Project Completed</div></td>
                                <td><div>Target Cost Saving</div></td>
                                <td><div>Cost Saving After Justification</div></td>
                                <td><div>Cost Saving Monthly</div></td>
                            </tr>
                            <tr>
                                <td><div>$accountcode</div></td>
                                <td><div>$department</div></td>
                                <td><div>$person_in_charge</div></td>
                                <td><div>$project_title</div></td>
                                <td><div>$objective</div></td>
                                <td><div>$how_to_do</div></td>
                                <td><div>$activities</div></td>
                                <td><div>$project_started</div></td>
                                <td><div>$project_completed</div></td>
                                <td><div>$target_cost_saving</div></td>
                                <td><div>$costsaving_afterjustification</div></td>
                                <td><div>$costsaving_monthly</div></td>
                            </tr>
                        "; }

echo " </table>";

答案 1 :(得分:1)

我希望这会有效,请检查并确认..

table,tr,td,th {
  border: 1px solid black;
  white-space: normal;
}

table tr td:nth-child(1) {
    background-color: red;
}

table {
  /*table-layout: fixed;
  width: 140%;*/
  margin-left: 190px;
  margin-right: 10px;
  display: block;
  overflow-y: auto;
  height: 450px;
}

th > td > div {
  max-width: 300px;
  min-width: 50px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
if(isset($_POST['searchq']) && $_POST['searchq'] != "")
{
    if(isset($_POST['searchopt']) && $_POST['searchopt'] != "")
    {
        $escsearch = mysqli_real_escape_string($conn, $_POST['searchq']);
        $searchval = preg_replace('#[^a-z 0-9]#i', '', $escsearch);
        $opt = $_POST['searchopt'];

        switch($opt)
        {
            case "dpt":
            $query = "SELECT * FROM coi_system where department LIKE '%$searchval%'";
            $res = mysqli_query($conn, $query) or die(mysqli_error());
            $count = mysqli_num_rows($res);
            if($count > 0)
           {
            $output = "$count results for <strong>$escsearch</strong>.";
			echo "<table>
                        <tr>
                            <td><div>Account Code</div></td>
                            <td><div>Department</div></td>
                            <td><div>Person in charge</div></td>
                            <td><div>Project title</div></td>
                            <td><div>Objective</div></td>
                            <td><div>How To Do</div></td>
                            <td><div>Activities</div></td>
                            <td><div>Project Started</div></td>
                            <td><div>Project Completed</div></td>
                            <td><div>Target Cost Saving</div></td>
                            <td><div>Cost Saving After Justification</div></td>
                            <td><div>Cost Saving Monthly</div></td>
                        </tr>";
            while($row = mysqli_fetch_array($res))
            {
                $accountcode = $row['accountcode'];
                $department = $row['department'];
                $person_in_charge = $row['person_in_charge'];
                $project_title = $row['project_title'];
                $objective = $row['objective'];
                $how_to_do = $row['how_to_do'];
                $activities = $row['activities'];
                $project_started = $row['project_started'];
                $project_completed = $row['project_completed'];
                $target_cost_saving = $row['target_cost_saving'];
                $costsaving_afterjustification = $row['costsaving_afterjustification'];
                $costsaving_monthly = $row['costsaving_monthly'];

                echo "
                        <tr>
                            <td><div>$accountcode</div></td>
                            <td><div>$department</div></td>
                            <td><div>$person_in_charge</div></td>
                            <td><div>$project_title</div></td>
                            <td><div>$objective</div></td>
                            <td><div>$how_to_do</div></td>
                            <td><div>$activities</div></td>
                            <td><div>$project_started</div></td>
                            <td><div>$project_completed</div></td>
                            <td><div>$target_cost_saving</div></td>
                            <td><div>$costsaving_afterjustification</div></td>
                            <td><div>$costsaving_monthly</div></td>
                        </tr>";
						}
        }else{
            $output = "<tr><td>No records found.</td></tr>"; 
        }
		echo "</table>";
        
            break;
        }
    }
}