Re: newbie question on PHP and PostgreSQL

From: Date: Thu, 08 May 2003 22:12:50 +0000
Subject: Re: newbie question on PHP and PostgreSQL
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-146923@lists.php.net to get a copy of this message
Hey All, I figured it out. PHP apparently doesn't requrie you to add the optional parameter in pg_fetch_array of the array pointer position. By just adding this $j to that function, it cleared it up nicely. HTH, -m //-------------------------------------------------------begin fixed it thusly for($j=0; $j < $rowcount; $j++) { $row = pg_fetch_array($sch_result, $j); //check each possible day in month agains each result echo $row["bandname"] . ', '; } pg_result_seek($sch_result, 0); //-------------------------------------------------------finish fixed it thusly "M" <mcloney@casas.org> wrote in message news:20030508175407.17212.qmail@pb1.pair.com... > Hey All, > > I'm hoping you may have seen this or may at least know of a > newsgroup/website I can hit that might help me explain why this is > happening... > > Here's the scenario. I'm connecting to a PostgreSQL database and grabbing > all the schedule results for a given month. Then I'm looping over those > results. There are actually a ton of stupid loops going on... but the weird > thing is that after I go through the list once and then go back to the top > of the result set, the first value in the array (from the query) seems to > disappear!? Any clues? > > I know that this code only prints the names of all bands for every day in > the schedule. My next task is to try to figure out how to match the date > associated with a row with the date that's being constructed in the loop. > But if anyone has any suggestions on that, it's just a bonus. > > My comments below will detail my madness. Thanks in advance for any > suggestions! > > > Cheers, > > -m > > Here's the code, essentailly: > > <?php > > //-------------------------------database connection start > > // Connecting, selecting database > > include('database_connecter.php'); > > //-------------------------------database connection end > > //-------------------------------see if the month and/or year have been > passed through the URL string > > //-------------------------------begin set month and year variables > accordingly > > $qry_string = $_SERVER['QUERY_STRING']; > > parse_str($qry_string); > > if ($month < 1 OR $month > 12) { > > unset($month); } > > > if ($year < 1999 OR $month > 2099) { > > unset($month); } > > if (!isset($month)) { > > $month = date("m"); > > } > > if (!isset($year)) { > > $year = date("Y"); > > } > > $month_year = date(F) . ' ' . date(Y); > > //-------------------------------end set month and year variables > accordingly > > print "<!--Connected successfully-->"; > > //-------------------------------head information > > print '<head><title>' . $month_year . ' at The > Casbah</title></head>'; > > //-------------------------------begin construct query to pull bands and > shows from database > > $sql = 'select bandname, showdate from bands inner join bandshow on > bands.bandid '; > > $sql = $sql . ' = bandshow.bandid inner join shows on bandshow.showid = > shows.showid '; > > $sql = $sql . ' where bandshow.venueid = 1 and extract(month from showdate) > = ' . $month ; > > $sql = $sql . ' order by shows.showdate, bandshow.bandorder'; > > //-------------------------------begin construct query to pull bands and > shows from database > > $sch_result = pg_query($connection, $sql) > > or die("Failed to grab schedule"); > > > $rowcount = pg_num_rows($sch_result); > > echo "<BR>"; > > echo "total of $rowcount band/show records in this month's schedule"; > > echo "<BR>"; > > echo "<table border=1>"; > > $numDaysInMonth = date("t", mktime(0, 0, 0, $month, 1, $year)); > > //-------------------------------loop number of times as days in current > month > > //-------------------------------I know that this isn't perfect yet, but > it's just weird > > //-------------------------------because after I run through this once and > reset the > > //-------------------------------result witht he pg_result_seek command, it > seems to lose > > //-------------------------------a value from the array. I think the array > is still the same size > > //-------------------------------as it was before but maybe there's a better > way to do this? > > for ($i=0; $i < $numDaysInMonth; $i++) { > > echo '<tr><td>' . date("D", mktime(0, 0, 0, $month, ($i+1), > $year)) . ' ' . > ($i+1) . ' ' . '</td>'; > > echo '<td>'; > > //loop over result set > > for($j=0; $j < $rowcount; $j++) { > > > $row = pg_fetch_array($sch_result); > > //check each possible day in month agains each result > > echo $row["bandname"] . ', '; > > } > > //reset($row); > > pg_result_seek($sch_result, 0); > > echo '</td></tr>'; > > } > > echo "</table>"; > > ?> > >

« previous php.general (#146923) next »