Archief - PHP: vorige rij ophalen met fetch_array

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Noizz.be

Legacy Member
Hey,

ik geraak er echt niet uit. Hoe kan ik de vorige rij lezen in een mysql_fetch array?

mijn code:
PHP:
while($rij = mysql_fetch_array($resultaat))
	{
		echo "<a href=\"archivedmonth.php?maand=".$rij[0]."&jaar=".$rij[1]."\">";
		echo omzettenmaandletter($rij[0]);
		echo "   ";
		echo $rij[1];
		echo "</a>";
		echo "<br>";
	}

Deze code geeft een lijst van al mijn gearchiveerde maanden.
Januari 2004
December 2003
November 2003
Oktober 2003

nu zou ik tussen de verischillende jaren een <br> extra willen.
Dus ik wil het vorige jaar vergelijken met het huidige jaar dat ik aan het verwerken ben, indien het vorige jaar groter is da het huidige jaar, moet er een <br> bijkomen.

Iemand die kan helpen?

Greetz
Noizz

el73

Legacy Member
Als ik het goed begrijp ...
PHP:
$previous_month = initialiseer_met_max_jaar;
while($rij = mysql_fetch_row($resultaat)) {
  echo "<a href=\"archivedmonth.php?maand=".$rij[0]."&jaar=".$rij[1]."\">".
       omzettenmaandletter($rij[0])." ".$rij[1]."</a><br>";
  if ($previous_month > $rij[0] ) {
    echo "<br>";
    $previous_month = $rij[0];
  }
}

Cakeman

Legacy Member
Zoiets ongeveer denk ik:
PHP:
$jaar = -1;
while($rij = mysql_fetch_array($resultaat)) {
        if($jaar = -1) $jaar = $rij[1];
		echo "<a href=\"archivedmonth.php?maand=".$rij[0]."&jaar=".$rij[1]."\">";
		echo omzettenmaandletter($rij[0]);
		echo "   ";
		echo $rij[1];
		echo "</a>";
		echo "<br>";
                if($rij[1] != $jaar) {
                   echo "<br />";
                   $jaar = $rij[1];
                }
	}

Noizz.be

Legacy Member
Als ik volgende code gebruikt:

PHP:
$checkjaar = -1;
while($rij = mysql_fetch_array($resultaat))
	{
		if($checkjaar == -1){$checkjaar = $rij[1];}
		echo "<a href=\"archivedmonth.php?maand=".$rij[0]."&jaar=".$rij[1]."\">";
		echo omzettenmaandletter($rij[0]);
		echo "   ";
		echo $rij[1];
		echo "</a>";
		echo "<br>";
		if($rij[1] != $checkjaar){
			echo "<br>";
			$checkjaar = $rij[1];
                } 
	}

Krijg ik hetvolgende fenomeen:


Code:
December 2004
November 2004
October 2004
August 2004
July 2004
June 2004
April 2004
February 2004
January 2004
December 2003

November 2003
October 2003
September 2003
August 2003
July 2003
June 2003

Alvast bedankt voor de code, maar kunnen jullie helpen bij bovenstaand probleem?
Greetz
Noizz

blackrabbit

Legacy Member
Noizz.be zei:
Alvast bedankt voor de code, maar kunnen jullie helpen bij bovenstaand probleem?
Greetz
Noizz
Ik weet niet hoor, maar als je hier al niet ziet wat er fout gaat, dan vrees ik dat we u hier nog vaak gaan terugzien :)

Code kan trouwens ook wel iets korter + ik zie niet in waarom je 'omzettenmaandletter' gebruikt, vermits uw maandnamen toch in het Engels worden afgeprint..

Noizz.be

Legacy Member
blackrabbit zei:
Code kan trouwens ook wel iets korter + ik zie niet in waarom je 'omzettenmaandletter' gebruikt, vermits uw maandnamen toch in het Engels worden afgeprint..

explain

blackrabbit

Legacy Member
+ je hebt helemaal geen 2 IF-controles nodig, met 1 kom je toe...
+ die maandnaam kan je al met Mysql opvragen..
+ al die echo's vervangen door 1 echo ;)

Noizz.be

Legacy Member
hehe thanks :) ja ik ben nog een beginner ze. Dus alle tips om het efficiënter te maken zijn welkom.

Noizz
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan