Multiple record update extension issue (felixone

Ask a Question related to Macromedia Exchange Dreamweaver Extensions, Design and Development.

  1. #1

    Default Multiple record update extension issue (felixone

    I just purchased the Multiple Records at Once Extension by Felixone. I have put
    it to good use but have noticed an issue with it. PHP MySQL.

    I am using Dreamweaver 8 with the Repeat Region behaviour, and the Recordset
    Navigation Bar, along with the extension to update multiple values at once from
    a recordset.

    If there are more records than can be displayed on the first page of
    navigation. E.g. Showing records 1-10 of 15, when doing a multiple table
    update (in this case changing a single value from 0 to 1 and vice versa) a
    MYSQL error comes up. The operation is still completed but it doesn't go to the
    page specified after the update in the extension, but stays on the current page
    with the following error at the top:

    You have an error in your SQL syntax. Check the manual that corresponds to
    your MySQL server version for the right syntax to use near '' at line 1

    In the mean time, to overcome the issue, I am able to display all records on a
    single page, however once the records build up it won't be acceptable to have a
    potentialy very long list of records when I would like to display only 15 at a
    time.

    Has anyone had any experience of this, and if so would you be willing to help
    me. I have emailed felixone but I need this sorting out ASAP.

    Notice I have changed the show results to 5000, as going into the repeat
    region behaviour and saying 'show all' would not do anything. It always put it
    back to ten.



    <?php require_once('../Connections/conn_townpart.php'); ?><?php
    //initialize the session
    if (!isset($_SESSION)) {
    session_start();
    }

    // ** Logout the current user. **
    $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
    if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
    $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
    //to fully log out a visitor we need to clear the session varialbles
    $_SESSION['MM_Username'] = NULL;
    $_SESSION['MM_UserGroup'] = NULL;
    $_SESSION['PrevUrl'] = NULL;
    unset($_SESSION['MM_Username']);
    unset($_SESSION['MM_UserGroup']);
    unset($_SESSION['PrevUrl']);

    $logoutGoTo = "index.php";
    if ($logoutGoTo) {
    header("Location: $logoutGoTo");
    exit;
    }
    }
    ?>
    <?php
    if (!isset($_SESSION)) {
    session_start();
    }
    $MM_authorizedUsers = "admin";
    $MM_donotCheckaccess = "false";

    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
    // For security, start by assuming the visitor is NOT authorized.
    $isValid = False;

    // When a visitor has logged into this site, the Session variable
    MM_Username set equal to their username.
    // Therefore, we know that a user is NOT logged in if that Session variable
    is blank.
    if (!empty($UserName)) {
    // Besides being logged in, you may restrict access to only certain users
    based on an ID established when they login.
    // Parse the strings into arrays.
    $arrUsers = Explode(",", $strUsers);
    $arrGroups = Explode(",", $strGroups);
    if (in_array($UserName, $arrUsers)) {
    $isValid = true;
    }
    // Or, you may restrict access to only certain users based on their
    username.
    if (in_array($UserGroup, $arrGroups)) {
    $isValid = true;
    }
    if (($strUsers == "") && false) {
    $isValid = true;
    }
    }
    return $isValid;
    }

    $MM_restrictGoTo = "index.php";
    if (!((isset($_SESSION['MM_Username'])) &&
    (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'],
    $_SESSION['MM_UserGroup'])))) {
    $MM_qsChar = "?";
    $MM_referrer = $_SERVER['PHP_SELF'];
    if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
    if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
    $MM_referrer .= "?" . $QUERY_STRING;
    $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" .
    urlencode($MM_referrer);
    header("Location: ". $MM_restrictGoTo);
    exit;
    }
    ?>
    <?php
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }

    $currentPage = $_SERVER["PHP_SELF"];

    mysql_select_db($database_conn_townpart, $conn_townpart);
    $query_rs_users = "SELECT * FROM users";
    $rs_users = mysql_query($query_rs_users, $conn_townpart) or die(mysql_error());
    $row_rs_users = mysql_fetch_assoc($rs_users);
    $totalRows_rs_users = mysql_num_rows($rs_users);

    mysql_select_db($database_conn_townpart, $conn_townpart);
    $query_rs_articles = "SELECT * FROM blg_article INNER JOIN blg_category ON
    idcat_art=id_cat ORDER BY date_art DESC";
    $rs_articles = mysql_query($query_rs_articles, $conn_townpart) or
    die(mysql_error());
    $row_rs_articles = mysql_fetch_assoc($rs_articles);
    $totalRows_rs_articles = mysql_num_rows($rs_articles);

    $maxRows_rs_comments = 50000;
    $pageNum_rs_comments = 0;
    if (isset($_GET['pageNum_rs_comments'])) {
    $pageNum_rs_comments = $_GET['pageNum_rs_comments'];
    }
    $startRow_rs_comments = $pageNum_rs_comments * $maxRows_rs_comments;

    mysql_select_db($database_conn_townpart, $conn_townpart);
    $query_rs_comments = "SELECT * FROM blg_comment_com INNER JOIN blg_article ON
    idart_com=id_art INNER JOIN users ON idusr_com=id WHERE valid_com=0 ORDER BY
    date_com DESC ";
    $query_limit_rs_comments = sprintf("%s LIMIT %d, %d", $query_rs_comments,
    $startRow_rs_comments, $maxRows_rs_comments);
    $rs_comments = mysql_query($query_limit_rs_comments, $conn_townpart) or
    die(mysql_error());
    $row_rs_comments = mysql_fetch_assoc($rs_comments);

    if (isset($_GET['totalRows_rs_comments'])) {
    $totalRows_rs_comments = $_GET['totalRows_rs_comments'];
    } else {
    $all_rs_comments = mysql_query($query_rs_comments);
    $totalRows_rs_comments = mysql_num_rows($all_rs_comments);
    }
    $totalPages_rs_comments = ceil($totalRows_rs_comments/$maxRows_rs_comments)-1;

    // *** FX Update Multiple Records in form1
    if (isset($startRow_rs_comments)) $upd_rs_comments = $startRow_rs_comments;
    else $upd_rs_comments = 0; // counter
    if (isset($_POST['Submit'])) {
    $FX_updredir = "comments_list_all.php";
    mysql_select_db($database_conn_townpart, $conn_townpart);
    for ($N=$upd_rs_comments+1; $N<=$totalRows_rs_comments; $N++) {
    $updt_SQL = sprintf("UPDATE blg_comment_com SET valid_com=%s WHERE
    id_com=%s",
    isset($_POST["valid$N"]) ?
    addslashes(stripslashes($_POST["valid$N"])) : 0,
    isset($_POST["fx_updmatch$N"]) ?
    addslashes(stripslashes($_POST["fx_updmatch$N"])) : "");
    $updt_Result = mysql_query($updt_SQL, $conn_townpart) or $FX_sqlerror =
    mysql_error();
    }
    if ($FX_updredir == "") $FX_updredir = basename($_SERVER['SCRIPT_NAME']);
    if (isset($_SERVER['QUERY_STRING'])) {
    $FX_updredir .= (strpos($FX_updredir, '?')) ? "&" : "?";
    $FX_updredir .= $_SERVER['QUERY_STRING'];
    }
    if (isset($FX_sqlerror)) {
    echo '<center><font color="red">'.$FX_sqlerror.'</font></center>';
    } else header("Location: " . $FX_updredir);
    }

    $queryString_rs_comments = "";
    if (!empty($_SERVER['QUERY_STRING'])) {
    $params = explode("&", $_SERVER['QUERY_STRING']);
    $newParams = array();
    foreach ($params as $param) {
    if (stristr($param, "pageNum_rs_comments") == false &&
    stristr($param, "totalRows_rs_comments") == false) {
    array_push($newParams, $param);
    }
    }
    if (count($newParams) != 0) {
    $queryString_rs_comments = "&" . htmlentities(implode("&", $newParams));
    }
    }
    $queryString_rs_comments = sprintf("&totalRows_rs_comments=%d%s",
    $totalRows_rs_comments, $queryString_rs_comments);

    $queryString_rs_quotes = "";
    if (!empty($_SERVER['QUERY_STRING'])) {
    $params = explode("&", $_SERVER['QUERY_STRING']);
    $newParams = array();
    foreach ($params as $param) {
    if (stristr($param, "pageNum_rs_quotes") == false &&
    stristr($param, "totalRows_rs_quotes") == false) {
    array_push($newParams, $param);
    }
    }
    if (count($newParams) != 0) {
    $queryString_rs_quotes = "&" . htmlentities(implode("&", $newParams));
    }
    }
    $queryString_rs_quotes = sprintf("&totalRows_rs_quotes=%d%s",
    $totalRows_rs_quotes, $queryString_rs_quotes);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Administration - Comments</title>
    <link href="css/admin.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="150" valign="top" class="nav_pad"><div class="nav_border"
    id="links">
    <?php include("menu.php");?>
    <p><a href="<?php echo $logoutAction ?>">Log out</a></p>
    </div></td>
    <td valign="top"><p class="table_border"><span class="h1">Moderate
    Comments</span><br />
    <br />
    <span class="hover_active">Comments Requiring Moderation</span> ::<a
    href="comments_list_all.php" class="nav">Accepted Comments </a></p>
    <table width="100%" border="0" cellpadding="0" cellspacing="0"
    class="table_border">
    <tr>
    <td height="190" class="padding"><?php if ($totalRows_rs_comments >
    0) { // Show if recordset not empty ?>
    <form id="form1" name="form1" method="POST" action="<?php echo
    $editFormAction; ?>">
    <?php do { ?>
    <table width="100%" border="0" cellpadding="0"
    cellspacing="0">
    <tr>
    <td colspan="4">&nbsp;</td>
    <td align="right">Accepted?</td>
    </tr>
    <tr>
    <td width="40%" nowrap="nowrap"
    class="greenback">Article: <?php echo $row_rs_comments['title_art']; ?></td>
    <td width="20%" nowrap="nowrap" class="greenbac
    deadlyhifi Guest

  2. Similar Questions and Discussions

    1. update record wizard issue
      OK...I hope to give enough info here to get help... I have created a site with dreamweaver using php/mysql. I have an admin side to the site...
    2. PHP extension Move to specific record
      Hi there, I'm searching for the move to specific record extension for PHP. Does anybody know where to find it? If so... please let me know ...
    3. PHP/MySQL: Update field in record with multiple choices
      Hello! PHP/MySQL question: Is it possible to have a set of checkboxes update a record field with more than one option? ie: 3 choices in the...
    4. using dropdown box to display db record & update record
      Hi Folks, I have a web database written in asp and using access97. I have many projects, but each project is being held responsible by a person....
    5. Update existing From record with changes on new To record
      I need to create a history record and update a current record from one input form. The two tables are joined with a query and the table names and...
  3. #2

    Default Re: Multiple record update extension issue (felixone

    Hi Tom

    I have answered you, is not a navigation problem is an SQL error, the input
    is not the one expected from the database.

    Send me the page and I will make a fix.

    Felix
    [email]webmaster@felixone.it[/email]


    "deadlyhifi" <webforumsuser@macromedia.com> ha scritto nel messaggio
    news:e3audq$df3$1@forums.macromedia.com...
    >I just purchased the Multiple Records at Once Extension by Felixone. I have
    >put
    > it to good use but have noticed an issue with it. PHP MySQL.
    >
    > I am using Dreamweaver 8 with the Repeat Region behaviour, and the
    > Recordset
    > Navigation Bar, along with the extension to update multiple values at once
    > from
    > a recordset.
    >
    > If there are more records than can be displayed on the first page of
    > navigation. E.g. Showing records 1-10 of 15, when doing a multiple table
    > update (in this case changing a single value from 0 to 1 and vice versa) a
    > MYSQL error comes up. The operation is still completed but it doesn't go
    > to the
    > page specified after the update in the extension, but stays on the current
    > page
    > with the following error at the top:
    >
    > You have an error in your SQL syntax. Check the manual that corresponds to
    > your MySQL server version for the right syntax to use near '' at line 1
    >
    > In the mean time, to overcome the issue, I am able to display all records
    > on a
    > single page, however once the records build up it won't be acceptable to
    > have a
    > potentialy very long list of records when I would like to display only 15
    > at a
    > time.
    >
    > Has anyone had any experience of this, and if so would you be willing to
    > help
    > me. I have emailed felixone but I need this sorting out ASAP.
    >
    > Notice I have changed the show results to 5000, as going into the repeat
    > region behaviour and saying 'show all' would not do anything. It always
    > put it
    > back to ten.
    >
    >
    >
    > <?php require_once('../Connections/conn_townpart.php'); ?><?php
    > //initialize the session
    > if (!isset($_SESSION)) {
    > session_start();
    > }
    >
    > // ** Logout the current user. **
    > $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
    > if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] !=
    > "")){
    > $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
    > }
    >
    > if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
    > //to fully log out a visitor we need to clear the session varialbles
    > $_SESSION['MM_Username'] = NULL;
    > $_SESSION['MM_UserGroup'] = NULL;
    > $_SESSION['PrevUrl'] = NULL;
    > unset($_SESSION['MM_Username']);
    > unset($_SESSION['MM_UserGroup']);
    > unset($_SESSION['PrevUrl']);
    >
    > $logoutGoTo = "index.php";
    > if ($logoutGoTo) {
    > header("Location: $logoutGoTo");
    > exit;
    > }
    > }
    > ?>
    > <?php
    > if (!isset($_SESSION)) {
    > session_start();
    > }
    > $MM_authorizedUsers = "admin";
    > $MM_donotCheckaccess = "false";
    >
    > // *** Restrict Access To Page: Grant or deny access to this page
    > function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
    > // For security, start by assuming the visitor is NOT authorized.
    > $isValid = False;
    >
    > // When a visitor has logged into this site, the Session variable
    > MM_Username set equal to their username.
    > // Therefore, we know that a user is NOT logged in if that Session
    > variable
    > is blank.
    > if (!empty($UserName)) {
    > // Besides being logged in, you may restrict access to only certain
    > users
    > based on an ID established when they login.
    > // Parse the strings into arrays.
    > $arrUsers = Explode(",", $strUsers);
    > $arrGroups = Explode(",", $strGroups);
    > if (in_array($UserName, $arrUsers)) {
    > $isValid = true;
    > }
    > // Or, you may restrict access to only certain users based on their
    > username.
    > if (in_array($UserGroup, $arrGroups)) {
    > $isValid = true;
    > }
    > if (($strUsers == "") && false) {
    > $isValid = true;
    > }
    > }
    > return $isValid;
    > }
    >
    > $MM_restrictGoTo = "index.php";
    > if (!((isset($_SESSION['MM_Username'])) &&
    > (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'],
    > $_SESSION['MM_UserGroup'])))) {
    > $MM_qsChar = "?";
    > $MM_referrer = $_SERVER['PHP_SELF'];
    > if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
    > if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
    > $MM_referrer .= "?" . $QUERY_STRING;
    > $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" .
    > urlencode($MM_referrer);
    > header("Location: ". $MM_restrictGoTo);
    > exit;
    > }
    > ?>
    > <?php
    > $editFormAction = $_SERVER['PHP_SELF'];
    > if (isset($_SERVER['QUERY_STRING'])) {
    > $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    > }
    >
    > $currentPage = $_SERVER["PHP_SELF"];
    >
    > mysql_select_db($database_conn_townpart, $conn_townpart);
    > $query_rs_users = "SELECT * FROM users";
    > $rs_users = mysql_query($query_rs_users, $conn_townpart) or
    > die(mysql_error());
    > $row_rs_users = mysql_fetch_assoc($rs_users);
    > $totalRows_rs_users = mysql_num_rows($rs_users);
    >
    > mysql_select_db($database_conn_townpart, $conn_townpart);
    > $query_rs_articles = "SELECT * FROM blg_article INNER JOIN blg_category ON
    > idcat_art=id_cat ORDER BY date_art DESC";
    > $rs_articles = mysql_query($query_rs_articles, $conn_townpart) or
    > die(mysql_error());
    > $row_rs_articles = mysql_fetch_assoc($rs_articles);
    > $totalRows_rs_articles = mysql_num_rows($rs_articles);
    >
    > $maxRows_rs_comments = 50000;
    > $pageNum_rs_comments = 0;
    > if (isset($_GET['pageNum_rs_comments'])) {
    > $pageNum_rs_comments = $_GET['pageNum_rs_comments'];
    > }
    > $startRow_rs_comments = $pageNum_rs_comments * $maxRows_rs_comments;
    >
    > mysql_select_db($database_conn_townpart, $conn_townpart);
    > $query_rs_comments = "SELECT * FROM blg_comment_com INNER JOIN blg_article
    > ON
    > idart_com=id_art INNER JOIN users ON idusr_com=id WHERE valid_com=0 ORDER
    > BY
    > date_com DESC ";
    > $query_limit_rs_comments = sprintf("%s LIMIT %d, %d", $query_rs_comments,
    > $startRow_rs_comments, $maxRows_rs_comments);
    > $rs_comments = mysql_query($query_limit_rs_comments, $conn_townpart) or
    > die(mysql_error());
    > $row_rs_comments = mysql_fetch_assoc($rs_comments);
    >
    > if (isset($_GET['totalRows_rs_comments'])) {
    > $totalRows_rs_comments = $_GET['totalRows_rs_comments'];
    > } else {
    > $all_rs_comments = mysql_query($query_rs_comments);
    > $totalRows_rs_comments = mysql_num_rows($all_rs_comments);
    > }
    > $totalPages_rs_comments =
    > ceil($totalRows_rs_comments/$maxRows_rs_comments)-1;
    >
    > // *** FX Update Multiple Records in form1
    > if (isset($startRow_rs_comments)) $upd_rs_comments =
    > $startRow_rs_comments;
    > else $upd_rs_comments = 0; // counter
    > if (isset($_POST['Submit'])) {
    > $FX_updredir = "comments_list_all.php";
    > mysql_select_db($database_conn_townpart, $conn_townpart);
    > for ($N=$upd_rs_comments+1; $N<=$totalRows_rs_comments; $N++) {
    > $updt_SQL = sprintf("UPDATE blg_comment_com SET valid_com=%s WHERE
    > id_com=%s",
    > isset($_POST["valid$N"]) ?
    > addslashes(stripslashes($_POST["valid$N"])) : 0,
    > isset($_POST["fx_updmatch$N"]) ?
    > addslashes(stripslashes($_POST["fx_updmatch$N"])) : "");
    > $updt_Result = mysql_query($updt_SQL, $conn_townpart) or $FX_sqlerror
    > =
    > mysql_error();
    > }
    > if ($FX_updredir == "") $FX_updredir =
    > basename($_SERVER['SCRIPT_NAME']);
    > if (isset($_SERVER['QUERY_STRING'])) {
    > $FX_updredir .= (strpos($FX_updredir, '?')) ? "&" : "?";
    > $FX_updredir .= $_SERVER['QUERY_STRING'];
    > }
    > if (isset($FX_sqlerror)) {
    > echo '<center><font color="red">'.$FX_sqlerror.'</font></center>';
    > } else header("Location: " . $FX_updredir);
    > }
    >
    > $queryString_rs_comments = "";
    > if (!empty($_SERVER['QUERY_STRING'])) {
    > $params = explode("&", $_SERVER['QUERY_STRING']);
    > $newParams = array();
    > foreach ($params as $param) {
    > if (stristr($param, "pageNum_rs_comments") == false &&
    > stristr($param, "totalRows_rs_comments") == false) {
    > array_push($newParams, $param);
    > }
    > }
    > if (count($newParams) != 0) {
    > $queryString_rs_comments = "&" . htmlentities(implode("&",
    > $newParams));
    > }
    > }
    > $queryString_rs_comments = sprintf("&totalRows_rs_comments=%d%s",
    > $totalRows_rs_comments, $queryString_rs_comments);
    >
    > $queryString_rs_quotes = "";
    > if (!empty($_SERVER['QUERY_STRING'])) {
    > $params = explode("&", $_SERVER['QUERY_STRING']);
    > $newParams = array();
    > foreach ($params as $param) {
    > if (stristr($param, "pageNum_rs_quotes") == false &&
    > stristr($param, "totalRows_rs_quotes") == false) {
    > array_push($newParams, $param);
    > }
    > }
    > if (count($newParams) != 0) {
    > $queryString_rs_quotes = "&" . htmlentities(implode("&", $newParams));
    > }
    > }
    > $queryString_rs_quotes = sprintf("&totalRows_rs_quotes=%d%s",
    > $totalRows_rs_quotes, $queryString_rs_quotes);
    > ?>
    > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    > <html xmlns="http://www.w3.org/1999/xhtml">
    > <head>
    > <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    > <title>Administration - Comments</title>
    > <link href="css/admin.css" rel="stylesheet" type="text/css" />
    > </head>
    >
    > <body>
    > <table width="100%" border="0" cellspacing="0" cellpadding="0">
    > <tr>
    > <td width="150" valign="top" class="nav_pad"><div class="nav_border"
    > id="links">
    > <?php include("menu.php");?>
    > <p><a href="<?php echo $logoutAction ?>">Log out</a></p>
    > </div></td>
    > <td valign="top"><p class="table_border"><span class="h1">Moderate
    > Comments</span><br />
    > <br />
    > <span class="hover_active">Comments Requiring Moderation</span> ::<a
    > href="comments_list_all.php" class="nav">Accepted Comments </a></p>
    > <table width="100%" border="0" cellpadding="0" cellspacing="0"
    > class="table_border">
    > <tr>
    > <td height="190" class="padding"><?php if
    > ($totalRows_rs_comments >
    > 0) { // Show if recordset not empty ?>
    > <form id="form1" name="form1" method="POST" action="<?php
    > echo
    > $editFormAction; ?>">
    > <?php do { ?>
    > <table width="100%" border="0" cellpadding="0"
    > cellspacing="0">
    > <tr>
    > <td colspan="4">&nbsp;</td>
    > <td align="right">Accepted?</td>
    > </tr>
    > <tr>
    > <td width="40%" nowrap="nowrap"
    > class="greenback">Article: <?php echo $row_rs_comments['title_art'];
    > ?></td>
    > <td width="20%" nowrap="nowrap" class="greenbac

    Distefano Felice Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139