2016-07-28 6 views
-1

Hallo ich bin ein Anfänger PHP-Entwickler, gelinde gesagt, und ich bin ziemlich fest.PHP Javascript Array

Ich versuche, den untenstehenden Code arbeiten Ich weiß, ich brauche eine foreach-Schleife oder ähnliches, aber ich bin weit über meine Tiefe hinaus, ich bin wirklich nicht sicher, wie das funktioniert, ich weiß die meisten von Du bist das grundlegende Zeug, aber ich bin verloren.

Grundsätzlich ist dies ein Beleg, wenn eine Registerkarte festgelegt ist. Er durchsucht die MySql-Datenbank nach den relevanten Artikeln und sollte sie auf dem Beleg ausdrucken.

Ich weiß, dass die MySql-Abfrage nicht mit der Ausgabe an der Unterseite verknüpft ist, aber ich weiß nicht, wie es geht.

<html lang="en"> 
 
\t <head> 
 
\t \t <title>Receipt</title> 
 
\t </head> 
 

 
\t <body> 
 
\t \t <?php 
 

 
\t \t \t $invoicenum = $_POST['invoicenum']; 
 
\t \t \t $name = $_POST['name']; 
 

 
\t \t \t $netrev=$invoicenum - 1; 
 

 
\t \t ?> 
 
\t \t Items: 
 
\t \t <? 
 
\t \t \t $itemQuery = mysql_query("SELECT * FROM sales WHERE invoicenum = '$netrev' AND tabname = '$name'"); 
 
\t $result = array(); 
 

 
\t while($row = mysql_fetch_array($itemQuery)) 
 
\t { 
 
\t \t $result[] = $row['itemname']; 
 
\t } 
 

 
\t echo json_encode($result); 
 

 
\t \t \t $amounts = json_decode($result['amounts']); 
 
\t \t \t $items = json_decode($result['items']); 
 
\t \t \t $prices = json_decode($result['prices']); 
 
\t \t ?> 
 
\t \t \t <br> 
 
\t \t \t <? 
 
\t \t \t \t for ($i = 0; $i < count($items); $i++) 
 
\t \t \t \t { 
 
\t \t \t \t \t echo $amounts[$i] . "x " . $items[$i] . " - " . $prices[$i] . "<br>"; 
 
\t \t \t \t } 
 
\t \t \t ?> 
 

 
\t </body> 
 
</html>

I-Code entfernt habe, nicht relevant zu dieser Anordnung ist, wenn Sie mir für immer dankbar sein können helfen würde.

+1

Ich bin nicht sicher, was Sie fragen, ist. .. Was ist der aktuelle Ausgang? Was ist die gewünschte Ausgabe? Was funktioniert? Was funktioniert nicht wie beabsichtigt? –

+1

wenn '$ result [] = $ row ['itemname']' warum sollte 'json_decode ($ result ['betrags'])' überhaupt funktionieren? – JustOnUnderMillions

+0

'mysql_query (" SELECT * FROM Verkauf WHERE invoicenum = '$ netrev' UND tabname = '$ name' ");' ** WARNUNG WARNUNG - Gefahr wird Robinson! **: http://StackOverflow.com/questions/12859942/why-shouldnt-i-use-mysql-funktionen-in-php und http://bobby-tables.com/ – CD001

Antwort

0

keine Notwendigkeit zu kodieren und zu decodieren.

$itemQuery = mysql_query("SELECT * FROM sales WHERE invoicenum = '$netrev' AND tabname = '$name'"); 

while($row = mysql_fetch_array($itemQuery)) 
{ 
    echo $row['amounts'] . "x " . $row['items'] . " - " . $row['prices'] . "<br>"; 
} 
?> 
0

Vergessen Sie alle json_decode/kodieren nach $result dann Füllung:

Erstes tun:

$result[] = $row;

Dann:

foreach ($result as $set){ 
    echo $set['amount'] . "x " . $set['itemname'] . " - " . $set['price'] . "<br>"; 
    #do var_dump($set); here for checking the keys 
}