Datafeed sorteren op prijs in PHP?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert

Robert

05/10/2007 11:06:00
Quote Anchor link
Hey allemaal,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
                                                                    ?>



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
 
PHP hulp

PHP hulp

29/04/2024 00:03:10
 
Bart van der veen

bart van der veen

05/10/2007 11:11:00
Quote Anchor link
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...
 
Joren de Wit

Joren de Wit

05/10/2007 11:13:00
Quote Anchor link
Dan zul je met het uitlezen eerst alle data in een array moeten zetten, deze vervolgens sorteren met een van de *sort() functies van php, en tenslotten de array uitlezen en de data weergeven.

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
 
Robert

Robert

08/10/2007 10:29:00
Quote Anchor link
Ik snap het ff niet :P
Is het niet mogelijk om bijvoorbeeld als array het zo in te stellen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$sort1
= array ($data[5]);

sort($sort1, SORT_NUMERIC);

?>
 
Robert

Robert

09/10/2007 09:07:00
Quote Anchor link
Weet iemand de juiste methode? :P Ik kom er niet meer uit
 
Robert

Robert

10/10/2007 14:22:00
Quote Anchor link
Weet niemand het? Dit is wat ik tot nu toe heb maar geeft daar waar een getal staat iedere keer "array" terug:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
 $sort1
= array(data[5]);
                     sort($sort1);
                     print "€" ." ". $sort1 . "</td></tr>
                     "
; }

?>


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
 



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.