0의

2017-09-08 4 views
1

으로 빈 줄을 생성하는 보고서 너무 오래 전 MySQL DB에 대해 쿼리를 실행 한 다음 결과를 반복하여 테이블 a에 결과를 전자 메일로 보냈습니다.0의

는 최근에, 나는 아침에 메일을받을 한번 여기 볼 때 잠시 난에 "0"을 임의의 빈 행이 : 내 쿼리를 실행하면

enter image description here

가 그 안에 0이나 빈 행을 절대 사용하지 마십시오. 데이터는 항상 깨끗한 상태로 되돌아옵니다. 그래서 저는 이것이 어떻게 든 제 루프에 있어야한다고 생각합니다. 나는 몰라. 어쨌든 ... 아래에있는 내 if 문은 다음과 같습니다

if ($result_count = $conn->query($sql_count)) { 
    while($row = $result_count->fetch_assoc()) { 
     $message .= '<tr style="white-space: normal;line-height: normal;font-weight: normal;font-variant: normal;font-style: normal;text-align: start;"> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["number"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["u_name"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["code"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["acode"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["name"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["success"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">' 
     .$row["comment"]. 
      '</td> 
        </tr>'; 
    } 
} else { 
    echo "No work orders have been entered into the system today."; 
} 

누구나 어떤 아이디어가? 다른 것을보고 싶다면 알려주세요. 누군가를 바라보며 볼 수없는 것을 발견 할 수 있습니다.

편집 :

나는 여기에 더 추가하고 그것을 정리할 희망합니다. 그래서, 오늘 나는 또 다른 보고서를 얻었고, 0으로 행을 다시 만들었습니다.

enter image description here 여기

이 테이블 구축 방법은 다음과 같습니다 :

내가 쿼리를 실행하면 다음

enter image description here

출력입니다 ... 지금은 거의 매일 일어나고있는 것 같다

enter image description here

마지막으로 ... 이메일 생성에 사용 된 페이지입니다 (빼기 모든 CSS)

<!DOCTYPE html> 
    <html> 

    <head> 
    <title>Daily Report</title> 
<meta charset=utf-8> 
    </head> 

    <body> 
    <?php 
    require 'db/spoc_config.php'; 
    ?> 
    <?php 

    $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

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

    $sql_count = " 
    select number, name, u_name, code, acode, success, comment from forms where Day(date) = Day(CURDATE()) and Month(date) = Month(CURDATE()) and year(date) = YEAR(CURDATE());"; 
    $result_count = $conn->query($sql_count); 
    $count = mysqli_fetch_row($result_count); 
    $str_count = implode($count); 

    date_default_timezone_set('UTC'); 
    $today = date('l, jS F Y'); 
    $week = date('W'); 
    $to = "[email protected]"; 
    $subject = "WOR: Daily Report " . $today;   
    $heading = "<b>Work Order Daily Report: </b>"; 

    $message = "<h2>" . $heading . " " . $today . "</h2>"; 
    $message .= '<table>'; 
    $message .= ' 
    <thead> 
    <tr> 
    <th>WO#</th> 
    <th>Engineer Name</th> 
    <th>Site</th> 
    <th>Airline</th>   
    <th>WO Description</th> 
    <th>Status</th> 
    <th>Comment</th> 
    </tr> 
    <tr></tr> 
    </thead> 
    <tbody> 
    '; 

    if ($result_count = $conn->query($sql_count)) { 
    while($row = $result_count->fetch_assoc()) { 
    $message .= '<tr> 
     <td>'.$row["number"].'</td> 
     <td>'.$row["u_name"].'</td> 
     <td>'.$row["code"].'</td> 
     <td>'.$row["acode"].'</td> 
     <td>'.$row["name"].'</td> 
     <td>'.$row["success"].'</td> 
     <td>' 
     .$row["comment"]. 
     '</td> 
     </tr>'; 
      } 
     } else { 
      echo "No work orders have been entered into the system today."; 
     } 

    $message .= '</tbody></table>';   
    $header = "From:[email protected] \r\n"; 
    $header .= "MIME-Version: 1.0\r\n"; 
    $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

    $retval = mail ($to,$subject,$message,$header,'[email protected]'); 

    $conn->close(); 
    ?>  

확인 ... 그래서 데이터가 제로의 그것에을 가지고있는 것으로 확인되었습니다. 그래서, 표시된 것은 적절합니다 ....하지만 제로의 원인을 파악할 수는 없습니다. 양식 페이지 아래에 포함 시켰습니다. 양식 페이지가 생성되는 방식이어야한다고 가정합니다. 누군가가 문제를 볼 수있는 희망 : 내 이해 당으로

<?php 
require 'db/spoc_config.php'; 

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 

if (!$link){ 
    die('Could not connect due to: ' . mysql_error()); 
} 

$db_selected = mysql_select_db(DB_NAME, $link); 

if (!$db_selected){ 
    die('Can\'t use: ' . DB_NAME . ': ' . mysql_error()); 
} 

$u_name = mysql_real_escape_string($_POST['u_name']); 
$name = mysql_real_escape_string($_POST['name']); 
$code = mysql_real_escape_string($_POST['code']); 
$acode = mysql_real_escape_string($_POST['acode']); 
$source = mysql_real_escape_string($_POST['source']); 
$number = mysql_real_escape_string($_POST['number']); 
$assess = mysql_real_escape_string($_POST['assess']); 
$asse = mysql_real_escape_string($_POST['asse']); 
$success = mysql_real_escape_string($_POST['success']); 
$status = implode ("|" , $_POST['status']); 
$comment = mysql_real_escape_string($_POST['comment']); 
$nchangenum = mysql_real_escape_string($_POST['nchangenum']); 
$pchangenum = mysql_real_escape_string($_POST['pchangenum']); 
$date = date("Y-m-d"); 
$sql = "INSERT INTO forms (u_name, name, code, acode, source, number, assess, asse, success, status, comment, nchangenum, pchangenum, date) VALUES ('$u_name', '$name', '$code', '$acode', '$source', '$number', '$assess', '$asse', '$success', '$status', '$comment', '$nchangenum', '$pchangenum', '$date')"; 

if (!mysql_query($sql)){ 
    die('Error: ' . mysql_error()); 
} 

mysql_close(); 
?> 

<html> 
<?php require 'head.php' ?> 
<body> 
<div> 
<div> 
<div></div> 
<h3> 
Airport Operations Workorder Repository 
</h3> 
    </div> 
<?php include 'nav.php';?> 
    <div> 
     <div> 
      <div> 
      </div> 
      <div> 
<?php 
session_start(); 

$username = $_SESSION['username']; 

if($_SESSION['username']){ 
    echo "<div><p class='bold_user'>Welcome, " . $_SESSION['username'] . ".</p><a href='logout.php'>(logout)</a></div>"; 
} 
else die("<div class='reg'>You must be logged in.</div>"); 
?> 
<div class="container"> 
<div class="outer"> 
<div class="inner"> 
<div class="centered"> 
<?php echo "<div class='loginerr'>You have successfully entered Work Order # " . $number . ". Please return to <a href='page.php'>the previous page</a> to enter more.</div>" ?>    
      </div> 
      <div> 
      </div> 
      <div> 
      </div> 
     </div> 
    </div> 
</div> 
</body> 
</html> 
+0

내가 그 자체 DB에서오고 확신합니다. BTW 수표를 적용하고 그것을 제거 할 수 –

+0

데이터가 귀하의 HTML을 깰 가능성이 있습니까?그렇다면'htmlspecialchars()'를보십시오. – jh1711

+1

당신의 루프는 멋지게 보입니다. 그리고 당신은 단지 그 가상의 행을 "한동안"보고 있기 때문에 그것은 문제가 당신의 루프가 아니라 데이터와 관련되어 있음을 암시합니다. 해당 데이터를 선택하기 위해 실행중인 쿼리를 제공 할 수 있습니까? –

답변

0

하는 단계 아래 시도 : - 어떤이있는 경우

  1. 데이터베이스 .Also하십시오
  2. 체크 제기 번호의 데이터 형식을 확인 데이터베이스의 데이터에 공백이 있습니다. 코드에 트림 넣기
  3. 결과 집합을 사용하여 반환되는 총 행 수를 확인하십시오.
0

당신은 경우() 검증에 $ 메시지를 포장 할 수 있습니다

if($row["number"] && $row["number"] > 0) 
{ 
    $message .= '<tr style="white-space: normal;line-height: normal;font-weight: normal;font-variant: normal;font-style: normal;text-align: start;"> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["number"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["u_name"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["code"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["acode"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["name"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">'.$row["success"].'</td> 
        <td style="border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;display: table-cell;vertical-align: inherit;">' 
     .$row["comment"]. 
      '</td> 
        </tr>'; 
} 
else 
{ 
    // skip this line - do nothing 
}