2016-10-03 4 views
0

Ich versuche, ein assoziatives Array, das die folgende StrukturPHP für jede Schleife-Not generieren Einträge

Ausgabe von var_export hat zu iterieren ($ data)

 <?php 
Harvest_Project::__set_state(array(
    '_root' => 'project', 
    '_tasks' => array() , 
    '_convert' => true, 
    '_values' => array(
     'id' => '10122036', 
     'client-id' => '4861417', 
     'name' => 'ABC', 
     'code' => '', 
     'active' => 'true', 
     'billable' => 'true', 
     'bill-by' => 'Project', 
     'hourly-rate' => '145.0', 
     'budget' => '70.0', 
     'budget-by' => 'project', 
     'notify-when-over-budget' => 'true', 
     'over-budget-notification-percentage' => '80.0', 
     'over-budget-notified-at' => '2016-09-24', 
     'show-budget-to-all' => 'false', 
     'created-at' => '2016-03-15T21:38:40Z', 
     'updated-at' => '2016-05-31T23:19:58Z', 
     'starts-on' => '', 
     'ends-on' => '', 
     'estimate' => '70.0', 
     'estimate-by' => 'project', 
     'hint-earliest-record-at' => '2016-03-16', 
     'hint-latest-record-at' => '2016-08-11', 
     'notes' => '', 
     'cost-budget' => '', 
     'cost-budget-include-expenses' => 'false', 
    ) , 
)) 

Dies ist der Code, den ich schrieb iterieren nur über das Array

<?php 
$project_id=10122036; 
$result=$api->getProject($project_id); 
$data = $result->get("data"); 

echo "<table border='1'> 
    <tr><td>Project Name</td> 
    <td>Hourly Rate</td> 
    </tr>"; 
     foreach($data as $key=>$fruit) { 
         ?> 
        <tr><td><?php echo $fruit->name;?></td> 
        <td><?php echo $fruit->{'hourly-rate'};?></td></tr> 
     <?php } 
    echo "</table>"; 
?> 

Dieser Code die Spalten und aus irgendeinem Grunde nicht die Einträge nicht erstellt in der Tabelle für jede Zeile erzeugen. Daher ist die resultierende Tabelle eine leere Tabelle. Bitte sagen Sie mir, wo ich falsch liege.

aktualisieren

Dieser Code ist Ernte zur Abfrage der Ernte-API. Dies ist die PHP Wrapper-Bibliothek http://mdbitz.com/docs/harvest-api/, die relevante Klassen und Methoden enthält. getProject ($ Projekt-ID) ist eine Methode zum Abrufen von Projektdetails basierend auf der Projekt-ID.

+0

Der $ Ergebnisspeicher ist useles. Sie müssen zeigen, was in "$ data" ist, da DAS ist, was Sie in Schleife sind. Wir haben keine Ahnung, was 'getProjects()' und 'get()' tun. –

+0

Ich habe meine Frage aktualisiert. – user3402248

+0

Versuchen Sie, ein neues tr-Tag innerhalb des Foreach zu öffnen und dieses Echo in td-Tags einzufügen. :) – mihutz

Antwort

1

Hinzugefügt HTML-Tabellencode.

$project_id='10122036'; 
$result=$api->getProject($project_id); 
echo "<table border='1'> 
    <tr><th>Project Name</th> 
    <th>Hourly Rate</th></tr>"; 

if($result->isSuccess()) { 
    $project = $result->data;?> 

<tr><td><?php echo $project->get("name");?></td> 
        <td><?php echo $project->hourly-rate;?></td></tr> 

<?php }else{?> 
    <tr><td colspan="2">No data from API</td></tr> 
<?php } ?> 
</table> 
0

Da Sie versuchen, ein einzelnes Projekt mit api zu erhalten, verwenden Sie den Code unten

$project_id='10122036'; 
$result=$api->getProject($project_id); 
if($result->isSuccess()) { 
    $project = $result->data; 
    echo $project->get("name"); 
    echo $project->hourly-rate; 
}else{ 
    echo "No data from API"; 

}

Wenn Sie löschte „Keine Daten von API“ sehen, dann gibt es keine Daten zurückgegeben von API

+0

Es druckt ABC 145.0 – user3402248

+0

Das ist die Daten in Ihrem Array gefunden ... ist das nicht, was Sie wollten? – rubberchicken

+0

dann in der Tabelle anzeigen. –