2013-08-04 5 views
-1

Я пытаюсь изменить распечатанный результат в двух столбцах таблицы на основе того столбца из запроса SQL является 0 или 1Изменить выходной в таблице на основе SQL Query Result

Я сделал эхо $ Status, и он выводит список правильных значений, но он выше моей таблицы. Неужели я неправильно это делаю, чтобы поместить его в мои таблицы?

Остальные данные заполняют таблицу правильно, это только те две колонки. В настоящее время я прокомментировал эту часть, поэтому вывод в таблицу равен 0 или 1 соответственно. У меня также есть рядом с конкретным столбцом, закомментированная переменная того, где они были бы, если бы они были правильно выводятся.

Любая помощь была бы принята с благодарностью.

Вот часть кода, где я пытаюсь сделать преобразование:

if ($strAdjIncrease == '0') { 
    $AdjIncDec == 'Decrease'; 
} elseif ($strAdjIncrease == '1') { 
    $AdjIncDec == 'Increase'; 
} else { 
    $AdjIncDec == 'Unknown'; 
} 
if ($strAdjStatus == '0') { 
    $Status =='Open'; 
} elseif ($strAdjStatus == '1') { 
    $Status =='Closed'; 
} else { 
    $Status =='Void'; 
} 

Вот мой Полный кодовая таблица:

if (odbc_num_rows($rsIaL) == 0) { 
     echo "<center>"; 
     echo "<b>We're Sorry, No Records Returned.</b><br>\n"; 
     echo "</center>"; 
    } else { 
     echo "<p align='center'>"; 
     echo "<font face='Arial' size='4'><b>Last 31 Days Only</b></font>"; 
     echo "</p>\n"; 
     echo "<table border='1' align='center' cellpadding='2' style='border-collapse: collapse; font-size: 12px; font-weight: bold'>\n"; 
     echo "<thead>"; 
     echo "<tr>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>#</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Log ID</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Reason</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Inc/Dec</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Status</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Ref No</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Tot Cost</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Tot Retail</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>Start</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>End</b></font></th>"; 
     echo "<th ALIGN='LEFT' bgcolor='#C0C0C0'><font face='Arial' size='2'><b>User</b></font></th>"; 
     echo "</tr>"; 
     echo "</thead>"; 
     echo "<tbody>"; 
     $counter = 1; 

     while ($row = odbc_fetch_array($rsIaL)) { 
      $strAdjID  = trim(odbc_result($rsIaL, "AdjID")); 
      $strReaDesc  = trim(odbc_result($rsIaL, "ReaDesc")); 
      $strAdjStatus = trim(odbc_result($rsIaL, "AdjStatus")); 
      $strAdjRefNo  = trim(odbc_result($rsIaL, "AdjRefNo")); 
      $strAdjStTS  = trim(odbc_result($rsIaL, "AdjStTS")); 
      $strAdjEndTS  = trim(odbc_result($rsIaL, "AdjEndTS")); 
      $strAdjUID  = trim(odbc_result($rsIaL, "AdjUID")); 
      $strAdjTotCost = trim(odbc_result($rsIaL, "AdjTotCost")); 
      $strAdjTotRetail = trim(odbc_result($rsIaL, "AdjTotRetail")); 
      $strAdjIncrease = trim(odbc_result($rsIaL, "AdjIncrease")); 

      if ($bgcolor == '#ffffff') { 
       $bgcolor = '#dddddd'; 
      } else { 
       $bgcolor = '#ffffff'; 
      } 
      /* 
      I can't get this if/else portion to work and output correctly to the table! 
      I may be doing it incorrectly though 

      if ($strAdjIncrease == '0') { 
       $AdjIncDec == 'Decrease'; 
      } elseif ($strAdjIncrease == '1') { 
       $AdjIncDec == 'Increase'; 
      } else { 
       $AdjIncDec == 'Unknown'; 
      } 
      if ($strAdjStatus == '0') { 
       $Status =='Open'; 
      } elseif ($strAdjStatus == '1') { 
       $Status =='Closed'; 
      } else { 
       $Status =='Void'; 
      } 
      */ 

      echo "<tr>\n"; 
      echo "<td bgcolor = '$bgcolor' align=center>$counter</td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=center> <a href='Inventory_Adjustments_Detail.asp?log_id=$strAdjID&store_id=$storeID'>$strAdjID</a></td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=left>$strReaDesc</td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=left>$strAdjIncrease</td>\n"; #$AdjIncDec <-if/else variable 
      echo "<td bgcolor = '$bgcolor' align=left>".$strAdjStatus."</td>\n"; #$Status <- if/else variable 
      echo "<td bgcolor = '$bgcolor' align=left>$strAdjRefNo</td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=right>$" . number_format($strAdjTotCost, 2) . "</td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=right>$" . number_format($strAdjTotRetail, 2) . "</td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=center>" . date('n-j-Y h:i:s A', strtotime($strAdjStTS)) . "</td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=center>" . date('n-j-Y h:i:s A', strtotime($strAdjEndTS)) . "</td>\n"; 
      echo "<td bgcolor = '$bgcolor' align=left>$strAdjUID</td>\n"; 
      echo "</tr>"; 
      $counter++; 
     } 

     echo "</tbody>\n"; 
     echo "</table><br>\n"; 

    } 

ответ

1

Честно говоря, я не понимаю вашего код очень хорошо ... но вот некоторые мысли:

  1. попробовать эхо-ки переменные $strAdjIncrease nd $strAdjStatus перед оператором if/else, чтобы проверить, какие значения у них есть - отладить. возможно, ошибка находится где-то вверх по линии.

  2. я не знаю, если это опечатка или что вы пытаетесь сделать, но я считаю,
    $AdjIncDec == 'Increase'; (и другие переменные) внутри вашей, если/иначе-заявления не должны иметь двойных равных == но сингл = !?

  3. попробуйте === вместо == в вашем if/else-statement.

+0

Я знаю, что этот вопрос не о стиле, а может быть, даже не ваш собственный код вы работаете, но она чище, чтобы просто закрыть теги PHP написать некоторый HTML и открыть теги PHP снова вместо эхо-тонны линий. например '...?>

некоторые html здесь и выведите переменную и более html там

Leo

+0

Да, это не мой код. Это моя работа, которую я пытаюсь исправить/получить работу. Код предназначен для внутренней интрасети сотрудника, а руководитель не заботится о CSS/форматировании для сотрудников. Поскольку все это в основном только отчеты, на которые они смотрят. Это всего лишь страница с заголовком и отчетом. Он сказал, что как только все будет работать, тогда мы будем беспокоиться о том, чтобы код выглядел хорошо/формат с помощью css. – James

+0

Я внес изменения в свое предложение if/else, которое вы предложили, и оно теперь работает. Большое спасибо! Как вы можете сказать, я довольно новичок в PHP, и я все еще каждый день изучаю что-то новое. Например, я не знал, что вы можете использовать ===. Я думал, что это просто == или =. Еще раз спасибо за помощь. – James

Смежные вопросы