PHP - Select The First Three Consecutive Months
Hi..
I need help in selecting first 3 Consecutive Months from my table ETD which type is Date. for example in my ETD: 2012-04-01 2012-04-01 2012-04-05 2012-04-08 2012-04-08 2012-05-01 2012-05-01 2012-05-05 2012-05-08 2012-05-08 2012-06-01 2012-06-01 2012-06-05 2012-06-08 2012-06-08 2012-07-01 2012-07-01 2012-07-05 2012-07-08 2012-07-08 2012-08-01 2012-08-01 2012-08-05 2012-08-08 2012-08-08 Now from this ETD data: I need to select only a (from April - June) 2012-04-01 2012-04-01 2012-04-05 2012-04-08 2012-04-08 2012-05-01 2012-05-01 2012-05-05 2012-05-08 2012-05-08 2012-06-01 2012-06-01 2012-06-05 2012-06-08 2012-06-08 Thank you Similar TutorialsHi, I have db field with date. I want to make select statement with where clause when part of the date (month) is true. Example, i have records from 2020-2-1 until 2020-4-3, i want to select records for march only 2020-3-1 to 2020-3-31. how to do that? hi ,,, sorry bothering you i'm new in php mysql, and i've problem in "consecutive number" then i found clue in here : http://www.phpfreaks.com/forums/index.php/topic,228984.0.html it's really working with my problem but i got the result is always "0" in the first row. here's my code : $strSQL="SELECT * FROM station order by ID"; $rs=mysql_query($strSQL); while($row=mysql_fetch_array($rs)){ . . . $wet = "SELECT @count := 0"; $wet = "SELECT @count := IF(TotRain > 0 , @Count + 1, 0) as wetcnt FROM daily_syn WHERE ID ='".$row[ID]."' AND YEAR(SynDate)=".$stryear." ORDER BY wetcnt DESC LIMIT 1 "; $wetqres = mysql_query($wet); $wetinfo = mysql_fetch_array($wetqres); . . . $disp .= "<tr><td>".$row[ID]."</td><td>".$row[Sta_Name]."</td><td style=\"text-align:right;\">".$row[Lat]."</td><td style=\"text-align:right;\">".$row[Lon]."</td><td style=\"text-align:right;\">".$suhuMaksinfo[max]."</td><td style=\"text-align:right;\">".$suhuMininfo[min]."</td><td style=\"text-align:right;\">".$hujanMaksinfo[maxR]."</td><td style=\"text-align:right;\">".$Hhujaninfo[Dr]."</td><td style=\"text-align:right;\">".$Hhujan5info[Dr5]."</td><td style=\"text-align:right;\">".$Hhujan20info[Dr20]."</td><td style=\"text-align:right;\">".$Hhujan50info[Dr50]."</td><td style=\"text-align:right;\">".$Hhujan100info[Dr100]."</td><td style=\"text-align:right;\">".$wetinfo[wetcnt]."</td><td style=\"text-align:right;\">".$dryinfo[drycnt]."</td><td style=\"text-align:right;\">".$Rdensityinfo[SumR]."</td><td style=\"text-align:right;\">".$suhuMaksAbsinfo[maxAbs]."</td><td style=\"text-align:right;\">".$suhuMinAbsinfo[minAbs]."</td><td style=\"text-align:right;\">".$hujanMaksAbsinfo[maxRAbs]."</td></tr>"; it is looking for a "wetspell" from each YEARS (as input form) and from each station to display wetspell is the maximum consecutive rainday that th rain is greater than 1 milimeter but i got the first row always 0 for each years ,,, but the nesxt rows result is correct till the end rows and the other strange the dryspell is working properly from the first row dryspell is the maximum consecutive NO RainDay $dry = "SELECT @count := 0"; $dry = "SELECT @count := IF(TotRain <= 0 OR TotRain is NULL, @Count + 1, 0) as drycnt FROM daily_syn WHERE ID ='".$row[ID]."' AND YEAR(SynDate)=".$stryear." ORDER BY drycnt DESC LIMIT 1 "; $dryqres = mysql_query($dry); $dryinfo = mysql_fetch_array($dryqres); sorry cannot show you the result now, bcouse canot reach the server i hope you got what i mean and can help me with my problem many thanks, wish somone give me a help ,,, thanks I have a list of IP addresses in an very very very large array in random order. I am trying to find a way to determine if there are at least 8 IP addresses that are consecutive. I was thinking some sort of for loop after a sort but that seems very time consuming and I'm sure PHP has a better way... Some searching online revealed this: http://bytes.com/topic/php/answers/12143-flagging-consecutive-numbers-data-set Is this the way to go? Any tips? Thanks! Carmen On my web page, there is a variable called $submission. I would like to display exactly 11 rows from the query below: the row where $submission equals $row["title"], 5 rows above it, and 5 rows below it. All ranked by points descending. How can I do this? Code: [Select] $sqlStr = "SELECT title, points, submissionid FROM submission ORDER BY points DESC"; $result = mysql_query($sqlStr); $arr = array(); $count=1; echo "<table class=\"samplesrec\">"; while ($row = mysql_fetch_array($result)) { echo '<tr >'; echo '<td>'.$count++.'.</td>'; echo '<td class="sitename1">'.$row["title"].'</td>'; echo '<td class="sitename2"><div class="pointlink2">'.number_format($row["points"]).'</div></td>'; echo '</tr>'; } echo "</table>"; I'm trying to figure out for the months I can get it to display the last 5 months including the current month. The reason for this is I"m going to get the total number of hits for my website for each month as well as the number of successful logins for my CMS script. Any thoughts? Code: [Select] <table class="visualize_dashboard"> <caption> Dashboard Chart Example </caption> <thead> <tr> <td></td> <th scope="col">March</th> <th scope="col">April</th> <th scope="col">May</th> <th scope="col">June</th> <th scope="col">July</th> </tr> </thead> <tbody> <tr> <th scope="row">Visits</th> <td>175</td> <td>145</td> <td>212</td> <td>175</td> <td>182</td> </tr> <tr> <th scope="row">Logins</th> <td>94</td> <td>53</td> <td>124</td> <td>92</td> <td>105</td> </tr> </tbody> </table> Hi, I managed to source this code that allows me to work out how many days until a date. However I don't know how it works so I can't change it to make it work out months. Can someone kindly help me understand it? Also this code uses the unix timestamp system. $cdate = $deadlinedate; $today = time(); $difference = $cdate - $today; if ($difference < 0) { $difference = 0; $days=floor($difference/60/60/24); All help appreciated. Thanks in advance. Ok, so I have a code that looks like so: Code: [Select] <script type="text/javascript"> var ng_config = { assests_dir: 'ng/assets/' // the path to the assets directory } </script> <script type="text/javascript" src="ng/ng_all.js"></script> <script type="text/javascript" src="ng/components/calendar.js"></script> <script type="text/javascript"> var my_cal; ng.ready(function(){ // creating the calendar var my_cal = new ng.Calendar({ input: 'enddate', start_date: 'year - 1', // the start date (default is today) display_date: ng.get('startdate').value, // the display date (default is start_date) server_date_format: 'm/d/Y' // changing the server date format for a specific calendar. }); }); var my_cal1; ng.ready(function(){ // creating the calendar my_cal1 = new ng.Calendar({ input: 'startdate', start_date: 'year - 1', // the start date (default is today) display_date: new Date(), // the display date (default is start_date) server_date_format: 'm/d/Y' // changing the server date format for a specific calendar. }); }); how do I detect the months that pass between the two dates that are selected using a popup calendar using php so that my register page know which month to display the event under. Does this make sense? Hello I have created a calendar with a working loop however I need help being able to 1) Add months Jan, Feb etc ( can do this) 1a) being able to click those months as links and select the day Hi, Something strange has happend today. I am from the UK the date is March 31st so I am using timezone: date_default_timezone_set('UTC'); I capture the date: $date = date("Y-m-d"); Add a month to the date: date("Y-m-d", strtotime("+1 Month", strtotime($date))) And its comming out as May. If I capture the date through the URL which I do when navigating back: $date = $_GET['date']; Its works and says April Can anyone please advise me on why this is happening. Thanks I am working on a report generation. Here I need to count the number of months involved in the selected date range. I need to apply the monthly charges accordingly. Example: If the user selects 25-08-2011 to 03-10-2011, it should return 3 as the number of months. Yes, the number of days are less than 60 but still the date range is spread across 3 months. Any solution.. Please. Girish Hello All, I have a News database in which articles are entered in. Right now all the stories are being display in one big page with every story on it. What I would like to do is to create an "archive" in which it automatically organizes the stories by their date. For example. 2011 February January 2010 December November October September etc... etc... I have a datetime field for the database, and I know how to do this all manually, but I can't figure out how to make it automatically add a month each month. It would be too much maintanence to have to update this every month. I also don't know what this would be called, so I don't even know what to search for. I've tried blog and news, but doesn't seem to be what I want. Any help would be appreciated! I got 3 problems I am not able to do with the following PHP code 1) The sort function is not sorting the months in order like how I want it? Why? 2) How would I use a for loop to display the array of months? 3) How would I use a while loop and switch statements to display the array of months with # of days in each? Code: [Select] <?php $calendar = array("Janurary", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); print_r ($calendar); echo "<h1>FOR loop</h1>"; echo "(put for loop code here)"; echo "<br>"; sort($calender); echo "<br>"; print_r ($calendar); echo "<h1>WHILE loop, SWITCH statement</h1>"; echo "(put while loop code here)"; echo "<br>"; ?> hi, im making a simple blgo system, and i'd like to show a list of the last ten months, so the user can click the month name, and it will open the blog page with all the posts from that month, just like we usually see in blogs. any ideas? thanks in advance Just to make things a lot simpler, I decided to start a new topic. My question is, how can I count how many months it is back to the past November? Example: May 2011 back to November would return 6. Example: Dec 2011 back to November would return 1. Example: October 2011 back to November would return 11. Jake As far as I can see, this code: Code: [Select] $this->_licence_expires = date('Y/m/d', mktime(0, 0, 0, date("m"), date("d")-1, date("Y"))); results in accounts expiring 1 year from today, right? How can I change it so that it will result in expiry 9 months from today? TIA Hello, I am trying to display rainfall totals for the year so far in a table with months going across and days going down. Like so: -- Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1 2 3 4 5 6 7 8 etc And then have the rainfall totals for each day in the table, I am quite experienced with PHP however I cant work out how I would do this The data is stored in a mysql table called "wx_daily", and the rainfall column is called" RainTotal". The dates are stored in the "Date" column in mysql Date format. Im using the following mysql query: SELECT * FROM wx_daily WHERE YEAR(Date) = '2011' ORDER BY Date Asc Thanks, Mark I am using the following code to get the third sunday of every month for +6 Months from todays date. I have put together the following code which works perfectly when the date is echoed however when it comes to inserting those dates into mysql db it throws a unable to convert to string error. Im new to this and my head is in a spin as to why those dates can't be inserted if they can echoed ok. I have spent 2 days at it now and searched many forum however they seem to get side tracked from my issue (or do they)??????? I figure I can't go mixing DateTime and date() the way I have? Please help??? Code: [Select] [php] $month=date('F'); $now=date('Y-m-d'); $year=date('Y'); $num='3'; //example only this will be a $_POST value 0-3 $day='Sunday'; //example only this will be a $_POST value Monday-Sunday $start= date('Y-m-d', strtotime('+'.$num.' week '.$day.' '.$month.' '.$year.'')); if($start>$now) { $begin=strtotime('+'.$num.' week '.$day.' '.$month.' '.$year.''); } else { $d = new DateTime( $start ); $d->modify( 'first day of next month' ); $nextmonth = $d->format( 'F' ); $year = $d->format( 'Y' ); $begin=strtotime('+'.$num.' week '.$day.' '.$nextmonth.' '.$year.''); } $date=date('Y-m-d', $begin); # insert into db first occurance //mysql_select_db($database); //$query_rsFirst = "INSERT INTO event_date VALUES (NULL, '$event', '$d', '$date', '$date')"; //$rsFirst = mysql_query($query_rsFirst) or die(mysql_error()); echo $date.'<br/>'; for($i = 0; $i <= 4; $i++) { $d = new DateTime( $date ); $d->modify( 'first day of next month' ); $nextmonth = $d->format( 'F' ); $date=date('Y-m-d', strtotime('+'.$num.' week '.$day.' '.$nextmonth.' '.$year.'')); # insert into db //mysql_select_db($database); //$query_rsDate = "INSERT INTO event_date VALUES (NULL, '$event', '$d', '$date', '$date')"; //$rsDate = mysql_query($query_rsDate) or die(mysql_error()); echo $date.'<br/>'; if($nextmonth=="December") { $d = new DateTime( $date ); $d->modify( 'first day of next year' ); $year = $d->format( 'Y' ); } } [/php] So this is a simple code that finds out the difference between two dates and displays it in number of days. $date1=date_create("2013-03-15"); $date2=date_create("2013-12-12"); $diff=date_diff($date1,$date2); echo $diff->format("%R%a days"); // RESULT +272 days
My first question. Is it possible to remove the + sign in the result above? Second question. Is it possible to show "months" if it's greater than 30 days? And years if the days are greater than 365? How would I do this? I'm getting this error "Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/westiehi/public_html/groupBOS.php on line 36" for this code: Code: [Select] $query_rs_specialty = "SELECT * FROM specialty WHERE Group_Place <> '' and Date>= DATE_SUB(CURDATE(), INTERVAL 6 MONTH) ORDER BY Date DESC"; I've tried everything to get this to take records where the one field is blank and the date is greater than a date 6 months ago but nothing seems to work. Help would sure be appreciated!! hirealimo.com.au/code1.php this works as i want it: Quote SELECT * FROM price INNER JOIN vehicle USING (vehicleID) WHERE vehicle.passengers >= 1 AND price.townID = 1 AND price.eventID = 1 but apparelty selecting * is not a good thing???? but if I do this: Quote SELECT priceID, price FROM price INNER JOIN vehicle....etc it works but i lose the info from the vehicle table. but how do i make this work: Quote SELECT priceID, price, type, description, passengers FROM price INNER JOIN vehicle....etc so that i am specifiying which colums from which tables to query?? thanks |