2016-04-16 8 views
0

Ich versuche, eine Vielzahl von Ergebnissen mit einer MySQL-Abfrage anzuzeigen, und ich habe das Gefühl, ich verwende zu viel Code. Ich frage mich, ob mir jemand sagen kann, ob ich mehrere Variablen durchlaufen kann.Mysql Abfrage durch mehrere Variablen

Für das Beispiel habe ich mehrere Agenten und mehrere Spalten für die Agenten, die für alle Agenten gleich sind. Ich möchte die Abfrage auszuführen, so wird es durch alle Spalten für und Mittel geben dann die Daten und dann an den nächsten Agenten weitergehen und das gleiche tun

echo "<table> 
<tr><th>Van</th><th>Aantal</th></tr>"; 

$sql = ("SELECT SUM(Case_closed) as sum_closed FROM productie WHERE Agentnaam='Agent1' "); 
    $result = mysqli_query($connect, $sql) ; 
      $Case_closed = $result->fetch_object()->sum_closed; 

echo "<tr><td>Cases closed</td>"; 
echo "<td>$Case_closed</td></tr>"; 

$sql = ("SELECT SUM(Case_handled) as sum_handled FROM productie WHERE Agentnaam='Agent1' "); 
    $result = mysqli_query($connect, $sql) ; 
     $Case_handled = $result->fetch_object()->sum_handled ; 

echo "<tr><td>Cases handled</td>"; 
echo "<td>$Case_handled </td></tr></table>"; 
+0

Sie können nur 'SELECT SUM (Case_Closed) als sum_closed, SUM (Case_handled), wie aus productie sum_handled WHERE Agentnaam = 'Agent1'' ... –

+0

noch besser ist es,' Agentnaam SELECT SUM (Case_Closed) als sum_closed, SUM (Case_handled) als sum_handled FORM produceie GROUP BY Agentnaam' –

+0

Ich bin mir nicht sicher, ob das meine Frage beantwortet hat. Ich möchte nicht den gesamten Fall haben, der von allen Agenten geschlossen wurde. Ich möchte Daten in einer Tabelle ausgeben wie: [Agent1 - Case_closed: 1 Case_handled: 5 Case_forwarded: 22 Case_dispissed: 0] [Agent2 - Case_closed: 5 Case_handled: 9 Case_forwarded: 1 Case_dismissed: 11] – Derik

Antwort

0

ich die Lösung mit gefunden: Foreach

$connect = new mysqli ('localhost', $username, $password, $database); 
if (!$connect) { 
    die('Could not connect: ' . mysqli_error($connect)); 
} else { 

    $normal_array = array('Agent1','Agent2','Agent3'); 
    foreach($normal_array as $value){ 


    $s = "SELECT * FROM productie WHERE Agentname='$value' AND Date='$actual_time'"; 
    $result = mysqli_query($connect,$s); 
    $row = mysqli_fetch_row($result); 



    Echo "</br></br><table><tr><th>$value</th><th>Ammount</th></tr>"; 

    Echo "<tr><td>Cases closed  :</td><td> " .$row[2].  "</td></tr>"; 
    Echo "<tr><td>Cases handled  :</td><td> " .$row[3].  "</td></tr>"; 
    Echo "<tr><td>another column :</td><td> " .$row[4].  "</td></tr>"; 
    Echo "<tr><td>another column :</td><td> " .$row[5].  "</td></tr>"; 
    Echo "<tr><td>another column :</td><td> " .$row[6].  "</td></tr>"; 
    Echo "<tr><td>another column :</td><td> " .$row[7].  "</td></tr>"; 
    Echo "<tr><td>another column :</td><td> " .$row[8].  "</td></tr>"; 
    Echo "<tr><td>another column :</td><td> " .$row[9].  "</td></tr>"; 
    Echo "<tr><td>another column :</td><td> " .$row[10].  "</td></tr></table></br>";