title: Proper way to create JSON data with PHP/MySQL
body: <p><strong>Updated based on answers below:</strong></p>
  
  <p>Based on the answers below, I now have the following PHP script:</p>
  
  <pre><code>header('Content-type:application/json');
  
  function getdata($the_query)
  {
      $connection = mysql_connect('server', 'user', 'pass') or die (mysql_error());
      $db = mysql_select_db('db_name', $connection) or die (mysql_error());
  
      $results = mysql_query($the_query) or die(mysql_error());
  
      header('Content-type:application/json');
  
      $the_data['rss']['channels']['title'] = $title;
      $the_data['rss']['channels']['link'] = $link;
      $the_data['rss']['channels']['description'] = $description;
  
      while($row = mysql_fetch_array($result))
      {
          extract($row);
  
          $the_data['rss']['channels']['items']['title'] = $item_title;
          $the_data['rss']['channels']['items']['link'] = "$item_link;
          $the_data['rss']['channels']['items']['date'] = $item_date;
          $the_data['rss']['channels']['items']['description'] = $item_description;
      }   
  
      mysql_close($connection);
  
      return json_encode($the_data);
  }
  </code></pre>
  
  <p>Which returns the following:</p>
  
  <pre><code>{
      "rss":
      {
          "channels":
          {
              "title":"title goes here",
              "link":"link goes here",
              "description":"description goes here",
              "items":
              {
                  "title":"'title goes here",
                  "link":"link goes here",
                  "date":"date goes here",
                  "description":"description goes here"
              }
          }
      }
  }
  </code></pre>
  
  <p>It should be returning many items based on the number of rows returned from the database, why am I only getting 1 items?</p>