Aquí hay un ejemplo de mi tabla MySQL:
id, type, value
1, total_clicks, 15
2, total_revenue, 32.42
3, conversion_rate, 1.432
Estoy usando este comando para obtener todas esas filas:
SELECT * FROM statistics
¿Cómo puedo usar PHP para hacer eco de la columna value
en función de lo que hay en la columna type
?
Por ejemplo, ¿cómo haría algo como esto?
echo "We found that $total_clicks generated $total_revenue in revenue.";
Normalmente tendría cada uno de estos como una columna y usaría fetch_assoc
para hacer eco del valor de cada columna, pero por alguna razón decidieron dividir estos datos en filas ...
2 respuestas
Tiene un par de opciones para almacenar los resultados de la consulta y luego generarlos en PHP:
- una matriz asociativa
while ($row = $result->fetch_assoc()) {
$data[$row['type']] = $row['value'];
}
echo "We found that {$data['total_clicks']} generated {$data['total_revenue']} in revenue.";
while ($row = $result->fetch_assoc()) {
${$row['type']} = $row['value'];
}
echo "We found that $total_clicks generated $total_revenue in revenue.";
Un método usa la agregación:
select replace(replace('We found that [total_clicks] generated [total_revenue] in revenue.',
'[total_clicks]',
max(case when type = 'total_clicks' then value end)
), '[total_revenue],
max(case when type = 'total_revenue' then value end)
)
from statistics;
Nuevas preguntas
php
PHP es un lenguaje de secuencias de comandos interpretado, dinámico, orientado a objetos y ampliamente utilizado, diseñado principalmente para el desarrollo web del lado del servidor. Se utiliza para preguntas sobre el lenguaje PHP.