Datafeed sorteren op prijs in PHP?
Nog steeds bezig een goeie datafeed op te zetten en nu wil ik dat hij het sorteert op prijs. Dit is mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
// Open het csv bestand
$fp = fopen ("http://www.m4n.nl/_df?m=public_stream_csv&sep=tab5&valq=value2&enq=enq1&dfid=5800&duid=9196","r");
$row=0;
//START LOOP - Haalt data uit het csv bestand van de eerste 12 rijen
for($j = 0; $j < 31; $j++){
$data = fgetcsv ($fp, 1000, ",");
$num = count ($data);
//start op 3e regel, 1e twee zijn troep
if($row >1){
// Kijk of rij even of oneven is en geef een styl mee
if($row%2!=0){
$style='style30';
}
else{
$style='style31';
}
//genereert html rij tabel + voorbereiding URL; DATA[0]= URL
print "<tr><td><a href='".$data[0]."' title='";
echo $data[6].
"'class='".$style."' style ='text-decoration:none'>";
//genereert html voor de hotelnaam en link voor prijs; DATA[6]=plaats
//Als plaats meer dan 24 tekens bevat
if(strlen($data[6])>15){
//zoekt het eerste streepje
$start= stripos($data[6], ' - ');
//$start begint na het streepje
$start=$start+3;
//$start maximale lengte is 24 tekens
//$end=strlen($data[6])-$start;
//$end=$start+15;
$naam= substr($data[6],$start,15).'...';}
else {$naam=$data[6];}
echo $naam .
"</a></td><td class='prijs'><a
href='".$data[0]."' class='".$style."'
style='text-decoration:none'>";
//genereert html voor prijs + einde rij; DATA[5]=prijs
print "€" ." ". $data[5] . "</td></tr>
"; }
//verhoog het rij nummer met 1 en ga naar START LOOP
$row++;
//EIND LOOP
}
//sluit .csv bestand
fclose ($fp);
?>
// Open het csv bestand
$fp = fopen ("http://www.m4n.nl/_df?m=public_stream_csv&sep=tab5&valq=value2&enq=enq1&dfid=5800&duid=9196","r");
$row=0;
//START LOOP - Haalt data uit het csv bestand van de eerste 12 rijen
for($j = 0; $j < 31; $j++){
$data = fgetcsv ($fp, 1000, ",");
$num = count ($data);
//start op 3e regel, 1e twee zijn troep
if($row >1){
// Kijk of rij even of oneven is en geef een styl mee
if($row%2!=0){
$style='style30';
}
else{
$style='style31';
}
//genereert html rij tabel + voorbereiding URL; DATA[0]= URL
print "<tr><td><a href='".$data[0]."' title='";
echo $data[6].
"'class='".$style."' style ='text-decoration:none'>";
//genereert html voor de hotelnaam en link voor prijs; DATA[6]=plaats
//Als plaats meer dan 24 tekens bevat
if(strlen($data[6])>15){
//zoekt het eerste streepje
$start= stripos($data[6], ' - ');
//$start begint na het streepje
$start=$start+3;
//$start maximale lengte is 24 tekens
//$end=strlen($data[6])-$start;
//$end=$start+15;
$naam= substr($data[6],$start,15).'...';}
else {$naam=$data[6];}
echo $naam .
"</a></td><td class='prijs'><a
href='".$data[0]."' class='".$style."'
style='text-decoration:none'>";
//genereert html voor prijs + einde rij; DATA[5]=prijs
print "€" ." ". $data[5] . "</td></tr>
"; }
//verhoog het rij nummer met 1 en ga naar START LOOP
$row++;
//EIND LOOP
}
//sluit .csv bestand
fclose ($fp);
?>
Hier staat $data[5] voor de prijs. Hoe krijg ik het voor elkaar dat het op prijs gesorteerd wordt? Ik heb op internet al gelezen dat de functie "sort" hier kan bijdragen alleen heb ik geen idee waar ik het moet plaatsen.
Alvast bedankt!
Robert
het is denk ik beter om de csv even in een database te kieperen in plaats een hele mooi functie te schrijven voor iets wat je volgende week anders gesorteerd wil hebben...
Let wel op dat de prijs waarschijnlijk als string geinterpreteerd wordt en dat die dus ook als string gesorteerd zal worden. Dus bijvoorbeeld zo:
1
10
11
2
3
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Is het niet mogelijk om bijvoorbeeld als array het zo in te stellen?
Weet iemand de juiste methode? :P Ik kom er niet meer uit
Code (php)
Als iemand het antwoord weet of me meer kan helpen hoor ik het graag. Heb al van alles geprobeerd x.x
Gewijzigd op 01/01/1970 01:00:00 door Robert