如何将数据库中的值传递给php中的json

问题描述:

Thanks in advance, I have a three salary data in the table column. I am using while loop to display three salary values in the view page. But I have to pass these three values to three variables in json like {salary1:$sal1,salary2:$sal2,salary3:$sal3}. How to seperate looped three salary values into three variables

My code as below:

<table border="1">
        <caption><h2>View Registration</h2></caption>
        <tr>
          <th>Name</th>
          <th>Designation</th>
          <th>Email</th>
          <th>Salary</th>
        <tr>
          <?php

            include('common.php');
            $sql = mysql_query("select * from register"); 
            while($row = mysql_fetch_array($sql))
            {

          ?>
        <tr>
          <td><?php echo $row['name']?></td>
          <td><?php echo $row['designation']?></td>
          <td><?php echo $row['email']?></td> 
          <td><?php

           $salary = $row['salary'];      
           echo $salary; 


           ?></td>
        <tr>
          <?php
           }         


          ?>
      </table>

create an array of all salary and echo with json_encode, array will be convert in to json as you wants,

$sql = mysql_query("select * from register");

$salary =array();
while ($row = mysql_fetch_array($sql)) {
    $salary[$row['name']] = $row['salary'];
}
echo json_encode($salary);

<table border="1">
        <caption><h2>View Registration</h2></caption>
        <tr>
          <th>Name</th>
          <th>Designation</th>
          <th>Email</th>
          <th>Salary</th>
        <tr>
          <?php

            include('common.php');
            $sql = mysql_query("select * from register"); 
            $arraySalary=array();// declaring an array for json array
            $loopCounter=1;
            while($row = mysql_fetch_array($sql))
            {

          ?>
        <tr>
          <td><?php echo $row['name']?></td>
          <td><?php echo $row['designation']?></td>
          <td><?php echo $row['email']?></td> 
          <td><?php

           $salary = $row['salary'];
           $arraySalary['salary'.$loopCounter]= $row['salary'];    // making an array os diffrent index as salry1, salary2, salary3.
           $loopCounter++;
           ?></td>
        <tr>
          <?php
           }  
           echo json_encode($arraySalary);  // here you will get the salary json.     


          ?>
      </table>

Please have a try on this. I have checked this. and working fine.