MySQL ook met PREV - CURRENT - NEXT ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

H. Fokker

H. Fokker

06/06/2007 18:00:00
Quote Anchor link
Wie heeft de oplossing voor dit? Ik wil de resultaten uit één kolom per rij met elkaar vergelijken om te zien of er in de volgorde een verandering plaats vindt. Ik maak gebruik van de commando's prev - current - next om de stackpointer terug te laten kijken in de uitkomst van een kolom.

Zoiets dus ...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
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
 
PHP hulp

PHP hulp

22/12/2024 09:28:37
 
Joren de Wit

Joren de Wit

06/06/2007 18:38:00
Quote Anchor link
Niet dat ik weet, maar dat is ook niet echt logisch. Een tabel in mysql moet je zien als niets meer dan een grote bak waarin allemaal records zitten. De volgorde waarin die in de tabel staan maakt dus ook helemaal geen verschil.

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.
 
H. Fokker

H. Fokker

06/06/2007 18:51:00
Quote Anchor link
Ha Blanche, dank je voor reageren!

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 ...
 
Joren de Wit

Joren de Wit

06/06/2007 18:53:00
Quote Anchor link
Ja dat zou wel kunnen ja:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.