Simple PHP script to create XML sitemap with data (URL addresses) saved in MySQL database.
Data are selected from MySQL database with PHP PDO, and saved into a file on server (sitemap.xml).
- Code:
/*
 Simple PHP script to create XML sitemap with data (URL addresses) saved in MySQL database
 From: https://coursesweb.net/
*/
$xmlfile = 'sitemap.xml';

// this variable will contain the XML sitemap that will be saved in $xmlfile
$xmlsitemap = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

// Connection data (server_address, name, password, database_name)
$hostdb = 'localhost';
$userdb = 'username';
$passdb = 'password';
$namedb = 'database_name';

try {
  // Connect and create the PDO object
  $conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
  $conn->exec("SET CHARACTER SET utf8");      // Sets encoding UTF-8

  // Define and perform the SQL SELECT query
  $sql = "SELECT `col_url` FROM `table_name` WHERE 1";
  $result = $conn->query($sql);

  // If the SQL query is succesfully performed ($result not false)
  if($result !== false) {
    // Parse the result set, and add the URL in the XML structure
    foreach($result as $row) {
      $xmlsitemap .= '<url>
<loc>'. $row['col_url'] .'</loc>
<priority>0.5</priority>
<changefreq>weekly</changefreq>
</url>';
    }
  }

  $conn = null;        // Disconnect
}
catch(PDOException $e) {
  echo $e->getMessage();
}

$xmlsitemap .= '</urlset>';
file_put_contents($xmlfile, $xmlsitemap);          // saves the sitemap on server

// outputs the sitemap (delete this instruction if you not want to display the sitemap in browser)
echo $xmlsitemap;
- In this line of code:
$sql = "SELECT `col_url` FROM `table_name` WHERE 1";
Replace "col_url" with the name of the column in which the URL addresses are stored.
Replace "table_name" with the name of your MySQL table.
Also, replace "col_url" in this variable: $row['col_url'] too.

This PHP script creates a valid XML sitemap, with this structure:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
 <loc>https://coursesweb.net/</loc>
 <priority>0.5</priority>
 <changefreq>weekly</changefreq>
</url>
<url>
 <loc>https://coursesweb.net/php-mysql/</loc>
 <priority>0.5</priority>
 <changefreq>weekly</changefreq>
</url>
.....
</urlset>

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag adds a new line into a paragraph?
<b> <br> <p>
First line ...<br>
Other line...
Which CSS property can be used to add space between letters?
text-size word-spacing letter-spacing
#id {
  letter-spacing: 2px;
}
What JavaScript function can be used to get access to HTML element with a specified ID?
getElementById() getElementsByTagName() createElement()
var elm = document.getElementById("theID");
var content = elm.innerHTML;
alert(content);
Click on the "echo" correct instruction.
echo "CoursesWeb.net" echo "CoursesWeb.net"; echo ""CoursesWeb.net";
echo "Address URL: http://CoursesWeb.net";
XML sitemap with data from MySQL

Last accessed pages

  1. Ajax-PHP Chat Script (42409)
  2. Add data from form in text file in JSON format (11796)
  3. Detecting events in ActionScript 3 (847)
  4. Node.js Move and Copy file (15941)
  5. Contact page - CoursesWeb (36724)

Popular pages this month

  1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (2278)
  2. Contact page - CoursesWeb (2183)
  3. Tabs effect with CSS (2171)
  4. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (882)
  5. PHP getElementById and getElementsByTagName (793)