Tema: php pomoć
View Single Post
Staro 04.01.2014., 10:54   #2
zwer
crnjo
Moj komp
 
zwer's Avatar
 
Datum registracije: Mar 2003
Lokacija: Zagreb
Postovi: 1,907
<?php

// izmisli vise podataka :-)
$data['42'] = '[{"id":"2","domacin":"Man City","gost":"Liverpool","tip":"1","kvota":"1.8","status":"Dobitan"},{"id":"4","domacin":"Inter","gost":"Milan","tip":"1","kvota":"2.5","status":"Aktivan"}]';
$data['43'] = '[{"id":"2","domacin":"Man City","gost":"Liverpool","tip":"1","kvota":"1.8","status":"Aktivan"},{"id":"4","domacin":"Inter","gost":"Milan","tip":"1","kvota":"2.5","status":"Dobitan"}]';
$data['44'] = '[{"id":"2","domacin":"Man City","gost":"Liverpool","tip":"1","kvota":"1.8","status":"Aktivan"},{"id":"4","domacin":"Inter","gost":"Milan","tip":"1","kvota":"2.5","status":"Dobitan"}]';

foreach (
$data as $listKey => $listItem) {
    
$tickets json_decode($listItemtrue);

    
$dobitan 0;
    
$gubitan 0;
    
$aktivan 0;

    
// za sve tickete u listi ticketa provjeri statuse
    
foreach ($tickets as $ticket) {
        switch (
$ticket['status']) {
            case 
'Gubitan':
                
$gubitan++;
                break;
            case 
'Aktivan':
                
$aktivan++;
                break;
            case 
'Dobitan':
                
$aktivan++;
                break;
        }
    }

    
// output
    
switch (true) {
        case 
$gubitan 0:
            echo 
"ID: "$listKey ." - Gubitan\n";
            break;
        case (
$aktivan == && $gubitan == 0):
            echo 
"ID: "$listKey ." - Dobitan\n";
            break;
        case 
$aktivan 0:
            echo 
"ID: "$listKey ." - Aktivan\n";
            break;
    }
}
echo 
"\n";
Ovako nesto. Kolko vidim gore si outputao za svaki subset unutar jedne liste (npr. ove id 45), a shvatio sam da moras prebrojat sve statuse unutar jedne liste i outputat samo jednom za tu listu. Ili daj veci set podataka za testiranje i objasni malo bolje :-)-->
PHP kod:
<?php

// izmisli vise podataka :-)
$data['42'] = '[{"id":"2","domacin":"Man City","gost":"Liverpool","tip":"1","kvota":"1.8","status":"Dobitan"},{"id":"4","domacin":"Inter","gost":"Milan","tip":"1","kvota":"2.5","status":"Aktivan"}]';
$data['43'] = '[{"id":"2","domacin":"Man City","gost":"Liverpool","tip":"1","kvota":"1.8","status":"Aktivan"},{"id":"4","domacin":"Inter","gost":"Milan","tip":"1","kvota":"2.5","status":"Dobitan"}]';
$data['44'] = '[{"id":"2","domacin":"Man City","gost":"Liverpool","tip":"1","kvota":"1.8","status":"Aktivan"},{"id":"4","domacin":"Inter","gost":"Milan","tip":"1","kvota":"2.5","status":"Dobitan"}]';

foreach (
$data as $listKey => $listItem) {
    
$tickets json_decode($listItemtrue);

    
$dobitan 0;
    
$gubitan 0;
    
$aktivan 0;

    
// za sve tickete u listi ticketa provjeri statuse
    
foreach ($tickets as $ticket) {
        switch (
$ticket['status']) {
            case 
'Gubitan':
                
$gubitan++;
                break;
            case 
'Aktivan':
                
$aktivan++;
                break;
            case 
'Dobitan':
                
$aktivan++;
                break;
        }
    }

    
// output
    
switch (true) {
        case 
$gubitan 0:
            echo 
"ID: "$listKey ." - Gubitan\n";
            break;
        case (
$aktivan == && $gubitan == 0):
            echo 
"ID: "$listKey ." - Dobitan\n";
            break;
        case 
$aktivan 0:
            echo 
"ID: "$listKey ." - Aktivan\n";
            break;
    }
}
echo 
"\n";
Ovako nesto. Kolko vidim gore si outputao za svaki subset unutar jedne liste (npr. ove id 45), a shvatio sam da moras prebrojat sve statuse unutar jedne liste i outputat samo jednom za tu listu. Ili daj veci set podataka za testiranje i objasni malo bolje :-)
__________________
9900K-32GB-5TB-3060TI
zwer je offline   Reply With Quote