MySQL ook met PREV - CURRENT - NEXT ?
Zoiets dus ...
Code (php)
1
2
3
4
5
2
3
4
5
<?php
while ($array = mysql_fetch_array($query)) {
if (prev($array['Oefening']) != current($array['Oefening'])) {
?>
while ($array = mysql_fetch_array($query)) {
if (prev($array['Oefening']) != current($array['Oefening'])) {
?>
Maar ... dit werkt niet. Is er misschien een andere manier waarop je de veldresultaten uit één kolom onderling kunt vergelijken (vorige met de huidige of volgende) en een 'break' in die gegevens kunt detecteren?
Bijvoorbeeld: uitkomst van query is ...
appel
appel
appel
banaan <- detecteren
appel
appel
Gewijzigd op 01/01/1970 01:00:00 door H. Fokker
Pas zodra jij records op gaat halen uit die tabel heb je de mogelijkheid om ze te sorteren en niet eerder.
Verder gaat dit je ook niet lukken op de manier die je nu probeert aangezien $array er niet zo uit ziet als jij in gedachte hebt. Bij het fetchen van resultaten uit een sql query wordt door de resultaten heen gelopen en bij elke loop wordt van een nieuwe rij een array gemaakt. Je kunt echter niet zomaar terug kijken naar het vorige record.
Wat je dan zou moeten doen is eerst alle resultaten in een array in php zetten, en vervolgens die meteen foreach loop uitlezen. Maar nogmaals, ik begrijp je gedachtegang hierachter niet helemaal en denk dat er waarschijnlijk ook wel een slimmere oplossing voor je probleem bestaat.
Het klopt dat er een sorteren aan vooraf gaat. Daarna wil ik tijdens het uitlezen de eerst afwijkende rij van een bepaalde kolom detecteren. Dan moet het wel mogelijk kunnen zijn om rijen na het sorteren onderling te kunnen vergelijken ... Kun je bijvoorbeeld het resultaat van een vorige loop vasthouden in de volgende loop en deze vergelijken met het resultaat van die loop?
Ik zal ook eens proberen of het gaat met een foreach loop ...
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$temp = array();
while($row = mysql_fetch_assoc($res))
{
// Eerst je vergelijking uitvoeren
$temp = $row;
}
?>
$temp = array();
while($row = mysql_fetch_assoc($res))
{
// Eerst je vergelijking uitvoeren
$temp = $row;
}
?>
Nu bevat de variabele $temp de rij uit de vorige loop.