Naga Naveen
Naga Naveen

Reputation: 99

How do i print multiple values separately in php?

I'm retrieving data from the database using an unique id. Now the problem is, all the values are being retrieved and are being printed in a single line. I want them below one another. I tried "
" "\n
" and also nl2br. If anyone could help me. Thanks in advance.

PHP file:

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'DB';
$db = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if(mysqli_connect_errno()) 
{
die("connection couldn't be established");
}
if(isset($_POST['EnrNo']) === true && empty($_POST['EnrNo']) === false) {
//$Enr = $_POST['EnrNo'];
$EnrNo = mysql_real_escape_string ($_POST['EnrNo']);
$query = "Select * FROM cert WHERE EnrNo = '$EnrNo'";
    $result = $db->query($query);
    $total_num_rows = $result->num_rows;
    while ($row=$result->fetch_array())
  {
  echo ("EnrNo: " .$row["EnrNo"]);
  echo ("Name: " .$row["Name"]);
  echo ("Batch Code: " .$row["Batch Code"]); 
  echo ("Start Date: " .$row["Start Date"]);
  echo ("End Date: ".$row["End Date"]);
  echo ("Course: " .$row["Course"]);
  echo ("Duration: " .$row["Duration"]);
 }  mysqli_free_result($result);
    } else {
        echo ('Data not found');
    };
?>

HTML file:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
Enr No: <input type="text" name="EnrNo" id="EnrNo" /><br/><br />
<input type="submit" name="retrieve" value="retrieve" id="EnrNo-sub" />
<div id="EnrNo-data"></div>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript">

$('input#EnrNo-sub').on('click', function() { 
var EnrNo = $('input#EnrNo').val();
if (EnrNo != '') {
$.post('retrieve.php', {EnrNo: EnrNo}, function(data) { 
    $('div#EnrNo-data').text(data);

});

}


});
</script>
</body>
</html>

Upvotes: 3

Views: 1713

Answers (7)

Ja͢ck
Ja͢ck

Reputation: 173572

Considering your output, you could write a loop for the fields you wish to print and just append <br> to each line; also make sure you properly escape your output for HTML:

foreach (['EnrNo', 'Name', 'Batch Code', 'Start Date', 'End Date', 'Course', 'Duration'] as $field) {
    echo $field, ': ', htmlspecialchars($row[$field], ENT_QUOTES, 'UTF-8'), '<br>';
}

Upvotes: 0

Karthick Kumar
Karthick Kumar

Reputation: 77

try this

foreach($result->result() as $row)

{ echo ("EnrNo: " .$row->EnrNo."
"); echo ("Name: " .$row->Name."
"); echo ("Batch Code: " .$row->Batch Code."
"); echo ("Start Date: " .$row->Start Date."
"); echo ("End Date: ".$row->End Date."
"); echo ("Course: " .$row->Course."
"); echo ("Duration: " .$row->Duration."
"); }

Upvotes: 0

vdwijngaert
vdwijngaert

Reputation: 1555

You have to use <br> for line breaks and .html() instead of .text().

Otherwise the html will be escaped anyhow.

Upvotes: 1

Luthando Ntsekwa
Luthando Ntsekwa

Reputation: 4218

Html uses BR tag to insert a single line break.

To have a value printed on a new line, you can add your line break tag <BR /> after every line like this:

echo ("EnrNo: " .$row["EnrNo"]).'<BR />';  

Please Note :

In HTML, the <br> tag has no end tag.

In XHTML, the <br> tag must be properly closed, like this: <br />

Upvotes: 1

Bhavin Shah
Bhavin Shah

Reputation: 90

try this

  while ($row=$result->fetch_array())
  {
  echo ("EnrNo: " .$row["EnrNo"]."<br>");
  echo ("Name: " .$row["Name"]."<br>");
  echo ("Batch Code: " .$row["Batch Code"]."<br>"); 
  echo ("Start Date: " .$row["Start Date"]."<br>");
  echo ("End Date: ".$row["End Date"]."<br>");
  echo ("Course: " .$row["Course"]."<br>");
  echo ("Duration: " .$row["Duration"]."<br>");
 }

Upvotes: 1

Nandan Bhat
Nandan Bhat

Reputation: 1563

Try "
", instead of "\n", Example:

 echo "Value1  :".$value1."<br>";
 echo "Value2  :".$value2."<br>";
 echo "Value3  :".$value3."<br>";
 echo "Value4  :".$value4."<br>";
 echo "Value5  :".$value5."<br>";

Upvotes: 1

Realit&#228;tsverlust
Realit&#228;tsverlust

Reputation: 3953

Did you simply try:

echo ("Duration: " .$row["Duration"]."<br>");

\n is only visible in the source code, while <br> affects the html.

Upvotes: 1

Related Questions