Mostrar el recuento solo para valores específicos.
No entiendo dónde está mi error con esto. Quiero que el contador se muestre solo cuando el estado de pago (columna en la base de datos llamada payment_status) muestre GRATIS o COMPLETADO, y si las columnas Nombre, Canción y Banda tienen algo lleno (no en blanco). A continuación se muestra el código que tengo, sin embargo, está contando las entradas incluso si el estado de pago es nulo. Cualquier ayuda es apreciada.
Lo que hice:
Además de buscar en todas partes que puedo encontrar, traté de sacar, reorganizar y cambiar los diferentes valores en cada una de las líneas por partes vacías y NULLIF.
Aquí está mi código
“`php
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexíón
if ($conn->connect_error) {
die("Error de conexión: " . $conn->connect_error);
}
$sql = "SELECT id, name, band, song, extra, band2, song2, extra2, band3, song3, extra3, item_name, payment_status FROM nametable";
$result = $conn->query($sql);
$resultt = mysqli_query($conn, "SELECT COUNT( NULLIF( song, '' ) ) +
COUNT( NULLIF( song2, '' ) ) +
COUNT( NULLIF( song3, '' ) ) AS count
FROM nametable");
if ($result->num_rows > 0) {
// Mostrar datos de cada fila
while($row = $result->fetch_assoc()) {
if( $row['payment_status'] == "Completed" ||
$row['payment_status'] == "Free")
{
<pre><code> if( !empty($row["name"]) &&
!empty($row["band"]) &&
!empty($row["song"]) )
{
if(!$resultt) {
die('Error: ' . mysqli_error($link));
} else {
$num_rows = mysqli_fetch_assoc($resultt);
// imprimirlo
echo "<font color='aqua'>" . $num_rows['count']."</font>";
}
}
}
</code></pre>
}
} else {
echo " ";
}
$conn->close();
?>“`
davy.ai
El problema parece estar en la consulta utilizada para contar las entradas. No está tomando en cuenta la condición de payment_status siendo FREE o COMPLETED. Para solucionar esto, debes modificar la consulta para incluir esa condición.
Reemplaza el siguiente bloque de código:
Con este código modificado:
Esta consulta incluye la condición para payment_status siendo FREE o COMPLETED, así como la verificación de valores no vacíos para las columnas Name, Song y Band en la cláusula WHERE. Esto asegurará que solo se cuenten las entradas relevantes.