<?php
/**
 * Copyright (c)  2008 Eclipse Foundation and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *    Denis Roy (Eclipse Foundation) - initial API and implementation
 *
 * SPDX-License-Identifier: EPL-2.0
 */

include "/home/data/httpd/eclipse-php-classes/system/dbconnection.class.php";

$dbc = new DBConnection();
$dbh = $dbc->connect();

$sql = "SELECT * FROM v_project_versions ORDER BY project_id";
$result = mysql_query($sql,$dbh);
while($myrow = mysql_fetch_assoc($result)) {
  echo $myrow['project_id'] . "," . $myrow['product'] . "," . $myrow['product_id'] . "," . $myrow['version'] . "\n";
}
$dbc->disconnect();