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: http://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>http://coursesweb.net/</loc>
 <priority>0.5</priority>
 <changefreq>weekly</changefreq>
</url>
<url>
 <loc>http://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. PHP PDO - exec (INSERT, UPDATE, DELETE) MySQL (27235)
  2. Get the value of multiple selected checkboxes with same name (4347)
  3. Add, Change, and Remove Attributes with jQuery (21290)
  4. Common PHP Errors and Solutions (4654)
  5. JavaScript Chronometer / Stopwatch (3061)

Top accessed pages

  1. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (43787)
  2. PHP-MySQL free course, online tutorials PHP MySQL code (33177)
  3. Read Excel file data in PHP - PhpExcelReader (33092)
  4. Get Attribute (ID, Class, Name, Title, Src) with jQuery (29923)
  5. PHP PDO - exec (INSERT, UPDATE, DELETE) MySQL (27235)