-1

I created a form that inserts values to the database, the values gets sent through email as well.

Here's the problem:

First off, here's my DB Schema:

DB Schema

As you can see I have a column named trackingcode which has an attribute of unsigned zerofill

So trackingcode has values like 001, 002, 003 and so on...

The problem is when it gets sent through email it only reads the integer like 1, 2, 3 and so on...

Is it possible to show the zeros on the email as well?

Here's the send to email code:

<?php
//insert.php
$connect = mysqli_connect("localhost", "root", "", "pcrequest");
if(isset($_POST["reqname"]))
{
 $req_date = $_POST["req_date"];
 $reqname = $_POST["reqname"];
 $date = $_POST["date"];
 $empname = $_POST["empname"];
 $position = $_POST["position"];
 $account = $_POST["account"];
 $platform = $_POST["platform"];
 $processor = $_POST["processor"];
 $ram = $_POST["ram"];
 $monitor = $_POST["monitor"];
 $phone = $_POST["phone"];
 $phonetype = $_POST["phonetype"];
 $headset = $_POST["headset"];
 $req_table = $_POST["req_table"];
 $req_chair = $_POST["req_chair"];
 $approval = $_POST["approval"];
 $status = $_POST["status"];
 $query = '';
 

  for($count = 0; $count<count($reqname); $count++)
  {
  $req_date_clean = mysqli_real_escape_string($connect, $req_date[$count]);
  $reqname_clean = mysqli_real_escape_string($connect, $reqname[$count]);
  $date_clean = mysqli_real_escape_string($connect, $date[$count]);
  $empname_clean = mysqli_real_escape_string($connect, $empname[$count]);
  $position_clean = mysqli_real_escape_string($connect, $position[$count]);
  $account_clean = mysqli_real_escape_string($connect, $account[$count]);
  $platform_clean = mysqli_real_escape_string($connect, $platform[$count]);
  $processor_clean = mysqli_real_escape_string($connect, $processor[$count]);
  $ram_clean = mysqli_real_escape_string($connect, $ram[$count]);
  $monitor_clean = mysqli_real_escape_string($connect, $monitor[$count]);
  $phone_clean = mysqli_real_escape_string($connect, $phone[$count]);
  $phonetype_clean = mysqli_real_escape_string($connect, $phonetype[$count]);
  $headset_clean = mysqli_real_escape_string($connect, $headset[$count]);
  $req_table_clean = mysqli_real_escape_string($connect, $req_table[$count]);
  $req_chair_clean = mysqli_real_escape_string($connect, $req_chair[$count]);
  $approval_clean = mysqli_real_escape_string($connect, $approval[$count]);
  $status_clean = mysqli_real_escape_string($connect, $status[$count]);
  if($req_date_clean != '' && $reqname_clean != '' && $date_clean != '' && $empname_clean != '' && $position_clean != '' && $account_clean != '' && $platform_clean != '' && $processor_clean != '' && $ram_clean != '' && $monitor_clean != '' && $phone_clean != '' && $phonetype_clean != '' && $headset_clean != '' && $req_table_clean != '' && $req_chair_clean != '' && $approval_clean != '' && $status_clean != '')
  {
   $trackingQuery = mysqli_query($connect,"SELECT Max(trackingcode) as maxtrack FROM `request`");
        if( mysqli_num_rows($trackingQuery) > 0)
        {
        $newtracking = mysqli_fetch_assoc($trackingQuery)['maxtrack'] + 1 ;
        }
        else{
        $newtracking = 1;
        }
        $query .= '
        INSERT INTO request(trackingcode, req_date, reqname, date, empname, position, account, platform, processor, ram, monitor, phone, phonetype, headset, req_table, req_chair, approval, status) 
        VALUES("'.$newtracking.'", "'.$req_date_clean.'", "'.$reqname_clean.'", "'.$date_clean.'", "'.$empname_clean.'", "'.$position_clean.'", "'.$account_clean.'", "'.$platform_clean.'", "'.$processor_clean.'", "'.$ram_clean.'", "'.$monitor_clean.'", "'.$phone_clean.'", "'.$phonetype_clean.'", "'.$headset_clean.'", "'.$req_table_clean.'", "'.$req_chair_clean.'", "'.$approval_clean.'", "'.$status_clean.'"); 
        ';
  }

$email_from = "PC Request";//<== update the email address
$email_subject = "PC Request for $account_clean";
$message = '<html><body>';
$message .= '<h1>Hello, World!</h1>';
$message .= '</body></html>';

$message = '<html><body>';
$message .= "<tr><td>Good morning,</td></tr>";
$message .= "<br>";
$message .= "<br>";
$message .= "<tr><td>Here are the specifications:</td></tr>";
$message .= "<br>";
$message .= "<br>";
$message .= '<table rules="all" style="border-color: #666;" cellpadding="5">';
$message .= "<tr style='background: #FFFFFF;'><td><strong>Tracking Code</strong> </td><td style='color:blue;'> TS" . $newtracking . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>Requested by</strong> </td><td>" . $req_date_clean = mysqli_real_escape_string($connect, $req_date[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>Requested by</strong> </td><td>" . $reqname_clean = mysqli_real_escape_string($connect, $reqname[$count]) . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>Start Date</strong> </td><td>" . $date_clean = mysqli_real_escape_string($connect, $date[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>Employee Name</strong> </td><td>" . $empname_clean = mysqli_real_escape_string($connect, $empname[$count]) . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>Position</strong> </td><td>" . $position_clean = mysqli_real_escape_string($connect, $position[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>Account</strong> </td><td>" . $account_clean = mysqli_real_escape_string($connect, $account[$count]) . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>Platform</strong> </td><td>" . $platform_clean = mysqli_real_escape_string($connect, $platform[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>Processor</strong> </td><td>" . $processor_clean = mysqli_real_escape_string($connect, $processor[$count]) . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>RAM</strong> </td><td>" . $ram_clean = mysqli_real_escape_string($connect, $ram[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>Monitor</strong> </td><td>" . $monitor_clean = mysqli_real_escape_string($connect, $monitor[$count]) . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>Phone</strong> </td><td>" . $phone_clean = mysqli_real_escape_string($connect, $phone[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>Phone Type</strong> </td><td>" . $phonetype_clean = mysqli_real_escape_string($connect, $phonetype[$count]) . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>Headset</strong> </td><td>" . $headset_clean = mysqli_real_escape_string($connect, $headset[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>Table</strong> </td><td>" . $req_table_clean = mysqli_real_escape_string($connect, $req_table[$count]) . "</td></tr>";
$message .= "<tr style='background: #CDD9FF;'><td><strong>Chair</strong> </td><td>" . $req_chair_clean = mysqli_real_escape_string($connect, $req_chair[$count]) . "</td></tr>";
$message .= "<tr style='background: #FFFFFF;'><td><strong>For Approval</strong> </td><td><a href='teamspan.com/core/pcrequest/messages-admin.php'>Click Here!</a></td></tr>";
$message .= "</table>";
$message .= "</body></html>";
    
$to = "renzostack@gmail.com";//<== update the email address
$headers = "From: $email_from \r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
//$headers .= "Reply-To: $visitor_email \r\n";
//Send the email!
mail($to,$email_subject,$message, $headers);

}

 if($query != '')
 {
  if(mysqli_multi_query($connect, $query))
  {
   echo 'Successfuly Sent!';
  }
  else
  {
   echo 'Error';
  }
 }
 else
 {
  echo 'All fields are required!';
 }
}
?>
  • You have specified that the number on the database is zerofilled, but the number you have is not coming from the database. So it's probably better to zero fill it yourself to make sure. – Nigel Ren Mar 11 '19 at 07:41
  • @NigelRen what do you mean? you marked this as duplicate, can't even incorporate that code to my send to email code. – Renzo Stack Mar 11 '19 at 07:44
  • @NigelRen You can do that with php of course, not with the form to mail with an HTML format. – Renzo Stack Mar 11 '19 at 07:45
  • You mean ` TS" . str_pad($newtracking, 3, '0', STR_PAD_LEFT) . "";` – Nigel Ren Mar 11 '19 at 07:52

1 Answers1

0

Maybe you should have a look at sprintf [1]

$number = 2;
echo sprintf("%03d", $number); // 002

References: 1. http://php.net/manual/en/function.sprintf.php

Sindhara
  • 1,423
  • 13
  • 20