PHP中有很多IF语句?
我们有两种类型的用户,每种类型在打开同一页面时都有自己的页面组件。 当我测试时,它给出了第一个编译的if语句,尽管它不是针对相同的用户类型I;我习惯于测试。我一直在努力,但我不知道问题出在哪里。 我将这些组件放在单独的页面中,但我发现最好将所有细节放在一起,但我被卡住了PHP中有很多IF语句?,php,Php,我们有两种类型的用户,每种类型在打开同一页面时都有自己的页面组件。 当我测试时,它给出了第一个编译的if语句,尽管它不是针对相同的用户类型I;我习惯于测试。我一直在努力,但我不知道问题出在哪里。 我将这些组件放在单独的页面中,但我发现最好将所有细节放在一起,但我被卡住了 <?php if(($userType[0] == 1)) { if ($singleuseraddsnum != 0 ) {
<?php
if(($userType[0] == 1))
{
if ($singleuseraddsnum != 0 ) {
echo ' <table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th>Details</th>
<th>Action</th>
</thead>
<tbody>';
foreach($singleuseradds as $addsdata)
{
$adv_id = $addsdata['id'];
?>
}
<tr>
<td><?= $addsdata['id']; ?></td>
<td>Request</td>
<td><?= $addsdata['pageurl']; ?></td>
<td class="text-info"><a href="adDetails.php?adv_id=<?= $adv_id; ?>"><button class="btn btn-primary">Details </button></a></td>
<td class="text-danger"><a href="useracceptadd.php?adv_id=<?= $adv_id ?>"><button class="btn btn-success"> Accept</button></a></td>
</tr>
else if ($acceptedAddsNum != 0 ){
echo ' <table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th>Details</th>
</thead>
<tbody>';
foreach($acceptedAddsData as $acceptedAddData)
{
$adv_id = $acceptedAddData['id'];
$hostlinksNum = $advertise->getAdsLinksForHostNum($conn,$user_id,$adv_id);
$hostlinks = $advertise->getAdsLinksForHost($conn,$user_id,$adv_id);
foreach($hostlinks as $links){
$hostlink = $links['link'];
}
<tr>
<td><?= $acceptedAddData['id']; ?></td>
<td>Accepted</td>
<td><?= $acceptedAddData['pagedescription'];?></td>
<td class="text-primary"><a href="adDetails.php?adv_id=<?= $adv_id ?>" class="text-info"><button class="btn btn-primary">More</button></a></td>
</tr>
}
}
if (($userType[0] == 2)) {
if ($currentaddsnum !=0) {
echo '<table id="users">
<thead>
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th class="text-primary">Details</th>
</thead>
<tbody>';
foreach($currentadds as $currentadd){
$add_id = $currentadd['id'];
$host_id = $user_id;
?>
<tr>
<td><?= $currentadd['id']; ?></td>
<td style="color: #08e465">Started</td>
<td><?= $currentadd['pagename']; ?></td>
<td class="text-primary"><a href="adDetails.php?adv_id=<?= $adv_id ?>" class="text-info"><button class="btn btn-primary">More</button></a></td>
}
if($row !=0){
echo '<table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th class="text-primary">Details</th>
</thead>
<tbody>';
foreach($userdata as $adddata){
$adv_id= $adddata['id'];
?>
<tr>
<td><?= $adddata['id']; ?></td>
<td>Pending</td>
<td><?= $adddata['pageurl']; ?></td>
<td class="text-primary"><a href="adDetails.php?adv_id=<?= $adv_id ?>" class="text-info"><button class="btn btn-primary">More</button></a></td>
}
if($addhistorynum !=0){
echo '<table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th class="text-primary">Details</th>
</thead>
<tbody>';
foreach($addhistory as $addhistorysingle){
$add_id = $addhistorysingle['id'];
$host_id = $user_id;
?>
<tr>
<td><?= $addhistorysingle['id']; ?></td>
<td>Finished</td>
<td><?= $addhistorysingle['pagename']; ?></td>
<td class="text-primary"><a href="adDetails.php?adv_id=<?= $adv_id ?>" class="text-info"><button class="btn btn-primary">More</button></a></td>
}
}
<?php
}
}
}
?>
正如已经有人建议的,首先去掉意大利面代码。它可以做得更好,也就是说,通过使用一些模板引擎,不管怎样,您的示例可以简化,下面的代码也可以注意,可能仍然存在一些错误,例如缺少,但是,您需要自己找出它们,因为我没有要测试的输入数据。有很多工作要做
<?php
if (($userType[0] == 1)) {
if ($singleuseraddsnum != 0) {
echo ' <table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th>Details</th>
<th>Action</th>
</thead>
<tbody>';
foreach ($singleuseradds as $addsdata) {
$adv_id = $addsdata['id'];
echo "<tr>
<td>{$addsdata['id']}</td>
<td>Request</td>
<td>{$addsdata['pageurl']}</td>
<td class='text-info'><a href='adDetails.php?adv_id={$adv_id}'><button class='btn btn-primary'>Details </button></a></td>
<td class='text-danger'><a href='useracceptadd.php?adv_id={$adv_id}'><button class='btn btn-success'> Accept</button></a></td>
</tr>";
}
} else
$acceptedAddsNum = 1;
if ($acceptedAddsNum != 0) {
echo '<table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th>Details</th>
</thead>
<tbody>';
foreach ($acceptedAddsData as $acceptedAddData) {
$adv_id = $acceptedAddData['id'];
/** @noinspection PhpUndefinedVariableInspection */
$hostlinksNum = $advertise->getAdsLinksForHostNum($conn, $user_id, $adv_id);
$hostlinks = $advertise->getAdsLinksForHost($conn, $user_id, $adv_id);
foreach ($hostlinks as $links) {
$hostlink = $links['link'];
}
echo "<tr>
<td>{$acceptedAddData['id']}</td>
<td>Accepted</td>
<td>{$acceptedAddData['pagedescription']}</td>
<td class='text-primary'><a href='adDetails.php?adv_id={$adv_id}' class='text-info'>
<button class='btn btn-primary'>More</button>
</a></td>
</tr>";
}
}
if (($userType[0] == 2)) {
if ($currentaddsnum != 0) {
echo '<table id="users">
<thead>
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th class="text-primary">Details</th>
</thead>
<tbody>';
foreach ($currentadds as $currentadd) {
$add_id = $currentadd['id'];
$host_id = $user_id;
echo "<tr>
<td>{$currentadd['id']}</td>
<td style='color: #08e465'>Started</td>
<td>{$currentadd['pagename']}</td>
<td class='text-primary'><a href='adDetails.php?adv_id={$adv_id}' class='text-info'>
<button class='btn btn-primary'>More</button>
</a></td>";
}
if ($row != 0) {
echo '<table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th class="text-primary">Details</th>
</thead>
<tbody>';
foreach ($userdata as $adddata) {
$adv_id = $adddata['id'];
echo "<tr>
<td>{$adddata['id']}</td>
<td>Pending</td>
<td>{$adddata['pageurl']}</td>
<td class='text-primary'><a href='adDetails.php?adv_id={$adv_id}' class='text-info'>
<button class='btn btn-primary'>More</button>
</a></td>";
}
if ($addhistorynum != 0) {
echo '<table class="table table-hover">
<thead class=" text-primary">
<th>Ad ID</th>
<th>Status</th>
<th>Date</th>
<th class="text-primary">Details</th>
</thead>
<tbody>';
foreach ($addhistory as $addhistorysingle) {
$add_id = $addhistorysingle['id'];
$host_id = $user_id;
echo "<tr>
<td>{$addhistorysingle['id']}</td>
<td>Finished</td>
<td>{$addhistorysingle['pagename']}</td>
<td class='text-primary'><a href='adDetails.php?adv_id={$adv_id}' class='text-info'>
<button class='btn btn-primary'>More</button>
</a></td>";
}
}
}
}
}
}
在该脚本中加载错误,并在普通HTML代码中使用开头标记和括号。尽量简化您的代码,否则它将永远无法工作。