2016-04-21 4 views
2

Ich versuche, in eine Datei von einer Funktion zu schreiben, die mehrere SQL-Zeilen zurückgibt. Das Problem, das ich habe ist, ich eine Zeile nur mit return und 0 Zeilen zurück zurück, wenn ich echo oder printf verwendenSchreiben in Datei aus SQL-Zeilen

Dies ist von cron.php

<?php 
require 'lib/app.php'; 
//All pilots 
$str = $mining->activePilots(0); 
$file = fopen('elements/pilots.html',"w"); 
fwrite($file,$str); 
fclose($file); 

Dies ist von der Methode:

while($row = mysqli_fetch_array($sql)) 
{ 
    $pilot = $row['username']; 
    $ship = $row['ship']; 
    $role = $user->opRole($row['role']); 
    $hours = $row['hours']; 
    return "<tr><td>$role</td><td>$pilot</td><td>$ship</td><td>$hours</td></tr>"; 
} 

Antwort

1

Return beendet die Ausführung Ihres Programms und übergibt den in der ersten Schleife erhaltenen Wert. Sie sollten die verschiedenen Werte in einer Variablen speichern und dann am Ende alle zurückgeben:

$store=''; 

    while($row = mysqli_fetch_array($sql)) 
    { 
     $pilot = $row['username']; 
     $ship = $row['ship']; 
     $role = $user->opRole($row['role']); 
     $hours = $row['hours']; 
     $store=$store."<tr><td>$role</td><td>$pilot</td><td>$ship</td><td>$hours</td></tr>"; 
    } 
return $store; 
+1

Funktioniert wunderbar! Vielen Dank! – spencdev