Num rows if operator does not output data from my database

I have a db called payment_status

with the following columns:

-id

-user_id

-firstname

-payment_name

-payment_id

-payment_amount

I'm trying to structure it like this, if payment_id

is = to 1, then the table will display all users with that id in that column of the table.

The same applies if the user has payment_id

out of 2 or 3, but 2 will be "partially paid" and 3 will be "paid".

I have users with payment_id

of 1 in my db, but none of the users show up. I only get else statements.

Can anyone see what I am doing wrong to not display any of the users?

<?php
//Payment Section

    $con = mysqli_connect("localhost", "root", "", "db");
    $run = mysqli_query($con,"SELECT * FROM payment_status ORDER BY id DESC");
    $numrows = mysqli_num_rows($run);
    $payment_id = $row['payment_id'];

        if($payment_id == 3 AND $numrows > 0) {
                while($row = mysqli_fetch_assoc($run)){
                    $paid_id = $row['user_id'];
                    $paid_name = $row['firstname'];
                }
            } else {
            echo "No Payments made";
        }
        if($payment_id == 2 AND $numrows > 0) {
                    while($row = mysqli_fetch_assoc($run)){
                        $partially_paid_id = $row['user_id'];
                        $partially_paid_name = $row['firstname'];
                        $partially_paid_amount = $row['payment_amount'];
                    }
                } else {
            echo "No Partial Payments made";
        }
        if($payment_id == 1 AND $numrows > 0) {
                    while($row = mysqli_fetch_assoc($run)){
                        $owes_id = $row['user_id'];
                        $owes_name = $row['firstname'];
                    }
            } else {
            echo "No one owes";
        }       
?>

      

Table

<table class="paymentTable" id="dragTable">
        <tr>
            <th class="thPayment">Paid</th>
            <th class="thPayment">Partially Paid</th>
            <th class="thPayment">Owes</th>
        </tr>
        <tr>
            <td class="tdPayment" id="paid">
                            <div>
            <?php
                if ($paid_name == true) {
                    echo $paid_name;
                } else {
                    echo "No one has paid";
                }
            ?>
                            </div>
            </td>
            <td class="tdPayment" id="partially_paid">
            <div>
            <?php 
                if ($partially_paid__name == true) {
                    echo $partially_paid__name . " - " . $partially_paid_amount;
                } else {
                    echo "No one has made a partial payment";
                }
            ?>  
            </div>
            </td>
            <td class="tdPayment" id="owes">
            <div>
            <?php
                if ($owes_name == true) {
                    echo $owes_name;
                } else {
                    echo "Everyone has paid something";
                }
            ?>  
            </div>
            </td>
        </tr>
    </table>

      

+3


source to share


1 answer


You need to do as below: -



<?php
//Payment Section

    $con = mysqli_connect("localhost", "root", "", "db");
    $run = mysqli_query($con,"SELECT * FROM payment_status ORDER BY id DESC");
    $numrows = mysqli_num_rows($run);
        if( $numrows > 0) {
            while($row = mysqli_fetch_assoc($run)){
                $payment_id = $row['payment_id'];
                    if($payment_id == 3){
                        $paid_id = $row['user_id'];
                        $paid_name = $row['firstname'];
                    }else {
                        echo "No Payments made";
                    }
                    if($payment_id == 2){
                        $partially_paid_id = $row['user_id'];
                        $partially_paid_name = $row['firstname'];
                        $partially_paid_amount = $row['payment_amount'];
                    }else {
                         echo "No Partial Payments made";
                    }
                    if($payment_id == 1){
                         $owes_id = $row['user_id'];
                        $owes_name = $row['firstname'];
                    }else {
                         echo "No one owes";
                    }
            }
        }
?>

      

+1


source







All Articles