Имея проблему увеличения в php

1

Я хочу, чтобы второй столбец был увеличен, но вместо этого он принимает значение счетчика по умолчанию 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;

?;

Здесь результат вывода

Теги:
increment

2 ответа

0
Лучший ответ

используйте $counter= 1; перед тем, как сделать так:

$counter= 1;
foreach ($pdo->query($sqlUsers, PDO::FETCH_ASSOC) as $row) {

в вашем случае каждый раз, когда значение счетчика равно 1

  • 0
    Спасибо, я постараюсь дать вам обратную связь. Еще раз спасибо
  • 0
    добро пожаловать :) - @Antiomic
Показать ещё 1 комментарий
0

Установите свой 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++;
            }
  • 1
    Спасибо, позвольте мне попробовать ...
  • 1
    Это сработало! Вы спасатель жизни ..
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню