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>
source to share
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";
}
}
}
?>
source to share