Я хочу, чтобы второй столбец был увеличен, но вместо этого он принимает значение счетчика по умолчанию 1. Я хочу, чтобы он был как 1, 2, 3 и т.д.
Вот мой код....
$sqlUsers = 'SELECT 'user_id', 'name' FROM 'users' ORDER BY 'name';'; // "outer" SQL statement to get a list of user names and IDs
// prepared statement
// NOTE: SUM('sale_price') AS s
$sqlPurchases = 'SELECT 'transaction','date',SUM('sale_price') AS s '
. 'FROM 'purchases' WHERE 'user_id' = :id GROUP BY 'transaction';';
$purchStmt = $pdo->prepare($sqlPurchases);
echo '<h3>User Purchases</h3>', '<hr />', PHP_EOL;
echo '<table border=2>', PHP_EOL;
// run query() to get list of user IDs and names
foreach ($pdo->query($sqlUsers, PDO::FETCH_ASSOC) as $row) {
// execute the prepared statement using $row data to get user_id
$purchStmt->execute(array(':id' => $row['user_id']));
$counter= 1;
echo '<tr><th>', $row['name'], '</th><th>' . $counter++ . '</th><td>';
echo '<table border=1>', PHP_EOL;
echo '<tr><th>Transaction</th><th>Date</th><th>Amount</th></tr>', PHP_EOL;
// fetch result
while($result = $purchStmt->fetch(PDO::FETCH_ASSOC)) {
echo '<tr>';
echo '<td>', $result['transaction'], '</td>', PHP_EOL;
echo '<td>', $result['date'], '</td>', PHP_EOL;
// Echos SUM('sale_price') AS s
echo '<td align="right">', $result['s'], '</td>', PHP_EOL;
echo '</tr>';
}
echo '</table>', PHP_EOL;
echo '</td></tr>', PHP_EOL;
}
echo '</table>', PHP_EOL;
?;
используйте $counter= 1;
перед тем, как сделать так:
$counter= 1;
foreach ($pdo->query($sqlUsers, PDO::FETCH_ASSOC) as $row) {
в вашем случае каждый раз, когда значение счетчика равно 1
Установите свой counter
за пределы foreach
$counter=1
foreach ($pdo->query($sqlUsers, PDO::FETCH_ASSOC) as $row) {
// execute the prepared statement using $row data to get user_id
$purchStmt->execute(array(':id' => $row['user_id']));
echo '<tr><th>', $row['name'], '</th><th>' . $counter. '</th><td>';
echo '<table border=1>', PHP_EOL;
echo '<tr><th>Transaction</th><th>Date</th><th>Amount</th></tr>', PHP_EOL;
// fetch result
while($result = $purchStmt->fetch(PDO::FETCH_ASSOC)) {
echo '<tr>';
echo '<td>', $result['transaction'], '</td>', PHP_EOL;
echo '<td>', $result['date'], '</td>', PHP_EOL;
// Echos SUM('sale_price') AS s
echo '<td align="right">', $result['s'], '</td>', PHP_EOL;
echo '</tr>';
}
echo '</table>', PHP_EOL;
echo '</td></tr>', PHP_EOL;
$counter++;
}