www.webdeveloper.com
Results 1 to 5 of 5

Thread: Change database from mysql 4 to mysql 5 affects my calendar event page

  1. #1
    Join Date
    Aug 2010
    Posts
    212

    Change database from mysql 4 to mysql 5 affects my calendar event page

    I changed my database from mysql 4.1.10 to mysql 5.0 and I encountered error in my calendar event page. The output of my calendar date was change instead of date it becomes “>” and also when I press the button to move to another month I can’t move to another month. I have no idea why it happened.
    Here is the old calendar code:

    PHP Code:
    <?php
        $dbCnx 
    = @mysql_connect("localhost","""") or die('Could not Connect to the database')
        
    mysql_select_db("mydb");    
    ?>
    <html>
    <script>
    function goLastMonth(month, year){
    if(month == 1){
    --year;
    month = 13;
    }
    document.location.href = '<?=$_SERVER['PHP_SELF'];?>?month='+(month-1)+'&year='+year;
    }
    function goNextMonth(month, year){
    if(month == 12){
    ++year;
    month = 0;
    }
    document.location.href = '<?=$_SERVER['PHP_SELF'];?>?month='+(month+1)+'&year='+year;

    function remChars(txtControl, txtCount, intMaxLength)
    {
    if(txtControl.value.length > intMaxLength)
    txtControl.value = txtControl.value.substring(0, (intMaxLength-1));
    else
    txtCount.value = intMaxLength - txtControl.value.length;
    }
    function checkFilled() {
    var filled = 0
    var x = document.form1.calName.value;
    if (x.length > 0) {filled ++}
    var y = document.form1.calDesc.value;
    if (y.length > 0) {filled ++}
    if (filled == 2) {
    document.getElementById("Submit").disabled = false;
    }
    else {document.getElementById("Submit").disabled = true} // in case a field is filled then erased
    }
    </script>
    <body>
    <?php
    $day 
    = (isset($_GET["day"])) ? $_GET['day'] : "";
    $month = (isset($_GET["month"])) ? $_GET['month'] : "";
    $year = (isset($_GET["year"])) ? $_GET['year'] : "";
    if(empty(
    $day)){ $day date("j"); }
    if(empty(
    $month)){ $month date("n"); }
    if(empty(
    $year)){ $year date("Y"); } 
    $currentTimeStamp strtotime("$year-$month-$day");
    $monthName date("F"$currentTimeStamp);
    $numDays date("t"$currentTimeStamp);
    $counter 0;
    function 
    hiLightEvt($eMonth,$eDay,$eYear){
    $todaysDate date("n/j/Y");
    $dateToCompare $eMonth '/' $eDay '/' $eYear;
    if(
    $todaysDate == $dateToCompare){
    $aClass='class="today"';
    }else{
    $sql="select count(calDate) as eCount from calTbl where calDate = '" $eMonth '/' $eDay '/' $eYear "'";
    $result mysql_query($sql);
    while(
    $rowmysql_fetch_array($result)){
    if(
    $row['eCount'] >=1){
    $aClass 'class="event"';
    }elseif(
    $row['eCount'] ==0){
    $aClass ='class="normal"';
    }
    }
    }
    return 
    $aClass;
    }
    ?>
    <div id="Calendar_Event">
    <table width="350" cellpadding="0" cellspacing="0">
    <tr>
    <td width="50" colspan="1">
    <input type="button" value=" < " onClick="goLastMonth(<?php echo $month ", " $year?>);">
    </td>
    <td width="250" colspan="5">
    <span class="title" style="color:#FFFFFF"><?php echo $monthName " " $year?></span><br>
    </td>
    <td width="50" colspan="1" align="right">
    <input type="button" value=" > " onClick="goNextMonth(<?php echo $month ", " $year?>);">
    </td>
    </tr> 
    <tr>
    <th>M</td>
    <th>T</td>
    <th>W</td>
    <th>T</td>
    <th>F</td>
    <th>S</td>
    <th>S</td>
    </tr>
    <tr>
    <?php
    for($i 1$i $numDays+1$i++, $counter++){
    $dateToCompare $month '/' $i '/' $year;
    $timeStamp strtotime("$year-$month-$i");
    if(
    $i == 1){
    $firstDay date("N"$timeStamp);
    for(
    $j 1$j $firstDay$j++, $counter++){
    echo 
    "<td>&nbsp;</td>";

    }
    if(
    $counter == ){
    ?>
    </tr><tr>
    <?php
    }
    ?>
    <!--right here--><td width="50" <?=hiLightEvt($month,$i,$year);?>><a href="<?=$_SERVER['PHP_SELF'] . '?month='$month '&day=' $i '&year=' $year;?>&v=1"><?=$i;?></a></td> 
    <?php
    }
    ?>
    </table>
    </div>
    <div id="New_Event">
    <?php
    if(isset($_GET['v'])){
    if(isset(
    $_POST['Submit'])){
    $sql="insert into calTbl(calName,calDesc,calDate,calStamp) values('" $_POST['calName'] ."','" $_POST['calDesc'] . "','" $_POST['calDate'] . "',now())";
    mysql_query($sql);
    }
    $sql="select calName,calDesc, DATE_FORMAT(calStamp, '%a %b %e %Y') as calStamp from calTbl where calDate = '" $month '/' $day '/' $year "'";
    $result mysql_query($sql);
    $numRows mysql_num_rows($result);
    if (
    $_SESSION['username']=="user1"

    $check1=mysql_query("SELECT * FROM tbllogin WHERE Username='user1' AND Department='Staff' AND Permission='True'"); 
    $check2 mysql_fetch_array($check1); 
    $username $check2['Username']; 
    $dep $check2['Department']; 
    $permiss $check2['Permission']; 
    if(
    $username=="user1" && $dep=="Staff" && $permiss=="True"){ 
    $_SESSION['isallowed'] = $check2['Permission']; 
    ?> 
    <a href="<?=$_SERVER['PHP_SELF'];?>?month=<?=$_GET['month'] . '&day=' $_GET['day'] . '&year=' $_GET['year'];?>&v=1&f=true">Add Even</a><a href="<?=$_SERVER['PHP_SELF'];?>?month=<?=$_GET['month'] . '&day=' $_GET['day'] . '&year=' $_GET['year'];?>&v=1&f=true">t</a>
    <?php  

    }
    else 
    { echo 
    "You cannot Add New Event"; } 
    ?>
    </div>
    <div id="Cal_Event">
    <?php
    if(isset($_GET['f'])){
    include 
    'calform.php';
    }
    if(
    $numRows == ){
    echo 
    '';
    }else{
    echo 
    '<h3>Event Listed</h3>';
    while(
    $row mysql_fetch_array($result)){
    ?>
    <h5><?=$row['calName'];?></h5>
    <?=$row['calDesc'];?><br/>
    Listed On: <?=$row['calStamp'];?>
    <?php
    }
    }
    }
    ?>
    </div>
    </body>
    </html>
    On my new codes I only change the codes for the connection of database like the “host”, ”username”, ”password”, ”database name”, “table name”.
    Honestly, I have no idea why it happened after I change my database. Actually my tbluser was work so I connected in my database on my other webpage.
    Any help is highly appreciated. Thank you in advance.

  2. #2
    Join Date
    Aug 2010
    Posts
    212
    I resolved my problem in viewing the date. Now my problem is, when I’m done adding event and I refresh the calendar page and I press the date which I put an event. Sad to say the event that I input did not take effect or did not save and also it did not appear in my database.
    Here is my code for the form for adding event:
    Code:
    <style type="text/css">
    <!--
    #CAL_FORM {
    	position:absolute;
    	width:333px;
    	height:181px;
    	z-index:1;
    	top: 16px;
    }
    -->
    </style>
    <form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'].'?month=' .$_GET['month'] . '&day=' . $_GET['day'] . '&year=' . $_GET['year'];?>&v=1">
      <div id="CAL_FORM">
      <table cellpadding="0" cellspacing="0" class="tableClass">
    
        <tr>
    
          <td width="142">Event Name</td>
    
          <td width="146"><div align="left">
    
            <input type="text" name="calName" id="calName" onKeyup="checkFilled();">
    
          </div></td>
    
        </tr>
    
        <tr>
    
          <td rowspan="2">Event Desc</td>
    
          <td><div align="left">
    
            <textarea name="calDesc" id="calDesc" cols="15" rows="5" onKeyDown="remChars(this, document.form1.txtCount, 200);"
    
    							onKeyUp="remChars(this, document.form1.txtCount, 200);checkFilled();"></textarea>
    
            <br/>
    
          </div></td>
    
        </tr>
    
        <tr>
    
          <td>You have
    
            <input readonly name="txtCount" type="text" id="txtCount" value="200" size="2" maxlength="3">
    
    characters left!</td>
    
        </tr>
    
        <tr>
    
          <td>Event Date</td>
    
          <td><div align="left">
    
            <input type="text" name="calDate" id="calDate" value="<?php echo $_GET['month'] . '/' . $_GET['day'] . '/' . $_GET['year'];?>" readonly>
    
          </div></td>
    
        </tr>
    
        <tr>
    
          <td colspan="2"><input type="submit" name="Submit" id="Submit" value="Submit" disabled></td>
    
        </tr>
    
      </table>
    
      <p>&nbsp;</p>
      <p>&nbsp;</p>
    </div>
    </form>
    And this is my calendar revise code:
    PHP Code:
    <?php
    session_start
    ();
    $db_name="db_intranetsystem"

    mysql_connect("localhost""root""open") or die("Cannot connect to server"); 
    mysql_select_db("$db_name")or die("Cannot select DB");     
    ?>
    <!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=utf-8" />
    <title>DSPI CALENDAR EVENTS</title>
    <script>
    function goLastMonth(month, year){
    // If the month is January, decrement the year
    if(month == 1){
    --year;
    month = 13;
    }
    document.location.href = '<?php echo $_SERVER['PHP_SELF'];?>?month='+(month-1)+'&year='+year;
    }
    //next function
    function goNextMonth(month, year){
    // If the month is December, increment the year
    if(month == 12){
    ++year;
    month = 0;
    }
    document.location.href = '<?php echo $_SERVER['PHP_SELF'];?>?month='+(month+1)+'&year='+year;


    function remChars(txtControl, txtCount, intMaxLength)
    {
    if(txtControl.value.length > intMaxLength)
    txtControl.value = txtControl.value.substring(0, (intMaxLength-1));
    else
    txtCount.value = intMaxLength - txtControl.value.length;
    }

    function checkFilled() {
    var filled = 0
    var x = document.form1.calName.value;
    //x = x.replace(/^\s+/,""); // strip leading spaces
    if (x.length > 0) {filled ++}

    var y = document.form1.calDesc.value;
    //y = y.replace(/^s+/,""); // strip leading spaces
    if (y.length > 0) {filled ++}

    if (filled == 2) {
    document.getElementById("Submit").disabled = false;
    }
    else {document.getElementById("Submit").disabled = true} // in case a field is filled then erased

    }

    </script>

    </head>

    <body>
    <?php
    //$todaysDate = date("n/j/Y");
    //echo $todaysDate;
    // Get values from query string
    $day = (isset($_GET["day"])) ? $_GET['day'] : "";
    $month = (isset($_GET["month"])) ? $_GET['month'] : "";
    $year = (isset($_GET["year"])) ? $_GET['year'] : "";
    //comparaters for today's date
    //$todaysDate = date("n/j/Y");
    //$sel = (isset($_GET["sel"])) ? $_GET['sel'] : "";
    //$what = (isset($_GET["what"])) ? $_GET['what'] : "";

    //$day = (!isset($day)) ? $day = date("j") : $day = "";
    if(empty($day)){ $day date("j"); }

    if(empty(
    $month)){ $month date("n"); }

    if(empty(
    $year)){ $year date("Y"); } 
    //set up vars for calendar etc
    $currentTimeStamp strtotime("$year-$month-$day");
    $monthName date("F"$currentTimeStamp);
    $numDays date("t"$currentTimeStamp);
    $counter 0;
    //$numEventsThisMonth = 0;
    //$hasEvent = false;
    //$todaysEvents = ""; 
    //run a selec statement to hi-light the days
    function hiLightEvt($eMonth,$eDay,$eYear){
    //$tDayName = date("l");
    $todaysDate date("n/j/Y");
    $dateToCompare $eMonth '/' $eDay '/' $eYear;
    if(
    $todaysDate == $dateToCompare){
    //$aClass = '<span>' . $tDayName . '</span>';
    $aClass='class="today"';
    }else{
    //$dateToCompare = $eMonth . '/' . $eDay . '/' . $eYear;
    //echo $todaysDate;
    //return;
    $sql="select count(calDate) as eCount from tblcal where calDate = '" $eMonth '/' $eDay '/' $eYear "'";
    //echo $sql;
    //return;
    $result mysql_query($sql);
    while(
    $rowmysql_fetch_array($result)){
    if(
    $row['eCount'] >=1){
    $aClass 'class="event"';
    }elseif(
    $row['eCount'] ==0){
    $aClass ='class="normal"';
    }
    }
    }
    return 
    $aClass;
    }
    ?>
    <div id="Calendar_Event">
    <table width="350" cellpadding="0" cellspacing="0">
    <tr>
    <td width="50" colspan="1">
    <input type="button" value=" < " onClick="goLastMonth(<?php echo $month ", " $year?>);">
    </td>
    <td width="250" colspan="5">
    <span class="title" style="color:#FFFFFF"><?php echo $monthName " " $year?></span><br>
    </td>
    <td width="50" colspan="1" align="right">
    <input type="button" value=" > " onClick="goNextMonth(<?php echo $month ", " $year?>);">
    </td>
    </tr> 
    <tr>
    <th>M</td>
    <th>T</td>
    <th>W</td>
    <th>T</td>
    <th>F</td>
    <th>S</td>
    <th>S</td>
    </tr>
    <tr>
    <?php
    for($i 1$i $numDays+1$i++, $counter++){
    $dateToCompare $month '/' $i '/' $year;
    $timeStamp strtotime("$year-$month-$i");
    //echo $timeStamp . '<br/>';
    if($i == 1){
    // Workout when the first day of the month is
    $firstDay date("N"$timeStamp);
    for(
    $j 1$j $firstDay$j++, $counter++){
    echo 
    "<td>&nbsp;</td>";

    }
    if(
    $counter == ){
    ?>
    </tr><tr>
    <?php
    }
    ?>
    <!--right here--><td width="50" <?php echo 'hiLightEvt($month,$i,$year)';?>><a href="<?php echo $_SERVER['PHP_SELF'] . '?month='$month '&day=' $i '&year=' $year;?>&v=1"><?php echo $i;?></a></td> 
    <?php
    }
    ?>
    </table>
    </div>
    <div id="New_Event">
    <?php
    if(isset($_GET['v'])){
    if(isset(
    $_POST['Submit'])){
    $sql="insert into tblcal(calName,calDesc,calDate) values('" $_POST['calName'] ."','" $_POST['calDesc'] . "','" $_POST['calDate'] . "',now())";
    mysql_query($sql);
    }
    $sql="select calName,calDesc from tblcal where calDate = '" $month '/' $day '/' $year "'";
    //echo $sql;
    //return;
    $result mysql_query($sql);
    $numRows mysql_num_rows($result);

    if (
    $_SESSION['username']=="user1"

    $check1=mysql_query("SELECT * FROM tbluser WHERE Username='user1' AND Department='Staff' AND Permission='True'"); 
    $check2 mysql_fetch_array($check1); 
    $username $check2['Username']; 
    $dep $check2['Department']; 
    $permiss $check2['Permission']; 
    //echo "$username<br/>$dep<br/>$permiss<br/><br/>"; 
    if($username=="user1" && $dep=="Staff" && $permiss=="True"){ 
    $_SESSION['isallowed'] = $check2['Permission']; 

    ?> 
    <a href="<?php echo $_SERVER['PHP_SELF'];?>?month=<?php echo $_GET['month'] . '&day=' $_GET['day'] . '&year=' $_GET['year'];?>&v=1&f=true">Add Even</a><a href="<?php echo $_SERVER['PHP_SELF'];?>?month=<?php echo $_GET['month'] . '&day=' $_GET['day'] . '&year=' $_GET['year'];?>&v=1&f=true">t</a>
    <?php  

    }
    else 
    { echo 
    "You cannot Add New Event"; } 

    ?>
    </div>
    <div id="Cal_Event">
    <?php
    if(isset($_GET['f'])){
    include 
    'calform.php';
    }
    if(
    $numRows == ){
    echo 
    '';
    }else{
    //echo '<ul>';
    echo '<h3>Event Listed</h3>';
    while(
    $row mysql_fetch_array($result)){
    ?>

    <h5><?php $row['calName'];?></h5>
    <?php $row['calDesc'];?><br/>
    <?php
    }
    }
    }
    ?>
    </div>
    </body>
    </html>
    Thank you in advance

  3. #3
    Join Date
    Sep 2010
    Posts
    160
    Have you tried printing the errors that might occur when you make your queries?

    You might have a useful error message to help you.

    Also, have you checked if your insert affected any rows? The return value from the function call should return something useful, or call another help function (mysql_affected_rows() should work).

    I have to say I am a bit suprised how changing database should affect your PHP script. I think you are getting some kind of SQL error that you do not notice.

    Archie

  4. #4
    Join Date
    Aug 2010
    Posts
    212
    Quote Originally Posted by zimonyi View Post
    Have you tried printing the errors that might occur when you make your queries?

    You might have a useful error message to help you.

    Also, have you checked if your insert affected any rows? The return value from the function call should return something useful, or call another help function (mysql_affected_rows() should work).

    I have to say I am a bit suprised how changing database should affect your PHP script. I think you are getting some kind of SQL error that you do not notice.

    Archie
    I have read some article that the date/time or timestamp in mysql4 was diffrent in mysql 5

  5. #5
    Join Date
    Sep 2010
    Posts
    160
    That may well be.

    Please tell me if you got any visible errors in your PHP scripts when you try to insert your row.

    Also, if you have access to the MySQL database, try to simply insert the row there (with the values you think should work) and see if you get any errors that way.

    Archie

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



Recent Articles