Buonasera, da while($row = mysqli_fetch_assoc($result)) { $id=$row['totaleid']; recupero la variabile $id, che ha 3 valori 2, 3, 0 voglio fare la somma ma non ci riesco
Buonasera, da while($row = mysqli_fetch_assoc($result)) { $id=$row['totaleid']; recupero la variabile $id, che ha 3 valori 2, 3, 0 voglio fare la somma ma non ci riesco
ma $row['totaleid'] cosa contiene nel record?
è per caso l'auto increment?
cmq per fare una somma dentro un while è abbastanza facile
$id = 0;
while($row = mysqli_fetch_assoc($result)) {
$id = ($id+$row['totaleid']);
}
echo $id;
così ottiene la somma matematica...ma quale è il tuo scopo?
Questa è la mia query, sto contando quanti record ci sono per event_id, event_id assume 3 valori :90, 91, 92, eseguendo la mia query, mi conta i record per event_id, quindo ottengocodice:$sql = "SELECT count(id) as totaleid FROM tabella WHERE event_id='$idecat'"; $result = mysqli_query($conn1, $sql); if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { $id = $row['totaleid']; echo $id;
- 5 record per 90
- 3 record per 91
- 1 pecord per 92
Voglio ottenere la somma totale degli id
quindi devo sommare 5+3+1
Uhmmm
allora se tu devi ottenere 9 dato da 5+3+1 devi fare così
SELECT count(id) as totaleid FROM tabella
togli la clausola WHERE ed in questo caso non ti serve il while perchè avrai 1 unico recordset che contiene 9 in totaleid
se invece....vuoi sapere il totale record per degli specifici event_id fai così
SELECT count(id) as totaleid FROM tabella WHERE event_id IN(90, 91, 92)
anche in questo caso niente while, avrai 1 unico recordset che contiene 9
se invece....vuoi sapere il totale record per ogni singolo event_id fai così
SELECT count(id) as totaleid FROM tabella GROUP BY event_id
in questo caso il while può servire
Ho provato questa soluzione
$sql = "SELECT count(id) as totaleid FROM tabella WHERE event_id IN($idecat)";
$result = mysqli_query($conn1, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
$id = $row['totaleid'];
echo "$id";
Ho provato in questo modo ma non mi restituisce nulla
echo "$id";
correggi con
echo $id;
togli le "
poi
"SELECT count(id) as totaleid FROM tabella WHERE event_id IN($idecat)";
$idecat deve essere formattato così ----> 90,91,92
poi
fatti una echo della query
echo $sql;
e riproponila direttamente a database così da vedere senza dubbi cosa torna la query
Non funziona, ho provato a fare anche in questo modo, ma li ottengo sempre separati:
$sql="SELECT id FROM tabella WHERE event_id IN('$idecat')";
if ($result=mysqli_query($conn1,$sql))
{
$rowcount=mysqli_num_rows($result);
echo $rowcount;
}
così non va bene
scusa ma hai provato la query su phpmyadmin (per esempio) ?codice:if ($result=mysqli_query($conn1,$sql)) { $rowcount=mysqli_num_rows($result); echo $rowcount; }
La sto testando sul server, facendomi da sempre i risultati separati 5 3 1, non riesco ad uscirnecodice:if ($result=mysqli_query($conn1,$sql)){ $rowcount=mysqli_num_rows($result); echo $rowcount; }
un passettino alla volta...ti assicuro che quanto chiedi è "banale"
fai una echo della query per cui scrivi
echo $sql; e riposta qui cosa ti viene stampato