problema raccapricciante php conteggio query

trattorino

Utente Attivo
23 Lug 2016
174
2
18
39
Ci sto ssbattendo la testa ore, ma non riesco a trovare una soluzione semplice senza incasinare la pesantezza con i processi di richiamo, in sostanza tramite usufruisco di una while per scaricarmi delle query es;

PHP:
while($row = mysqli_fetch_array($resultNumeroRep))
{
$reaction =  $row['reaction'];

}

la variabile $reaction mi scarica , facciamo un esempio, scarica 10 query guardate;
1
2
2
4
6
8
7
4
3
2
5
6
7
8
e qui viene il bello, quello che voglio fare e mi sto letteralmente scelvellando, e far in modo che riesco a conteggiare ad esempio i risultati '2' voglio prendere i risultati 2 e conteggiarli in questo caso come vedete sono 3, ho provato svariati modi ma senza risultati, ad esempio usando un contatore, inserire dentro il while $count++ e poi $count tutto dentro una if, ma da risultati ari a uno logicamente perche è dentro il while e cicla, riesco a prelevare il numero sono le la variabile $count la metto fuori dal while... avete ideee? cosa sbaglio mi sto perdendo in un bicchiere d'acqua
 

marino51

Utente Attivo
28 Feb 2013
3.016
174
63
Lombardia
non é molto chiara la tua richiesta, provo ancora con suggerire l'uso di count(*) nella query,
oppure con l'uso di un array per contare i diversi elementi
PHP:
$contatore = array();
while($row = mysqli_fetch_array($resultNumeroRep))
{
    $reaction =  $row['reaction'];

    if( empty($contatore[$reaction]) ) $contatore[$reaction] = 0;
    $contatore[$reaction] += 1;
}

// qui, il contatore é valorizzato con gli elementi presenti e contati
 
  • Like
Reactions: trattorino

macus_adi

Utente Attivo
5 Dic 2017
1.326
89
48
IT/SW
Semplicemente senza iterare il risultato, che è solo uno spreco di risorse potresti utilizzare (se non vuoi dar retta a @marino51 con il count nella query) la funzione nativa di php : "array_count_values".
Eviterei if inutili le performance sui piccoli numeri sono abbastanza evidenti, basta effettuare una prova con e senza "IF":
PHP:
while($row = mysqli_fetch_array($resultNumeroRep))
{
    $contatore[] = $row['reaction'];
}
print_r(array_count_values($contatore));
Cosa fa l'IF: Sta valutando ogni iterazione (perde sostanzialmente tempo).
Problema: all'aumentare delle reactions il tempo di elaborazione aumenta.
Provare per credere.
L'img sotto rappresenta sulla sinistra la soluzione con if, sulla destra la soluzione senza if.
 

Allegati

  • per.png
    per.png
    4,8 KB · Visite: 158
  • Like
Reactions: trattorino

trattorino

Utente Attivo
23 Lug 2016
174
2
18
39
mi da sempre lo stesso problema uso
PHP:
$contatore[$reaction] = 1;
$testss = count($contatore);
inserito dentro il while mi da questo
1
2
3
questo perche cicla tre volte, da tre risultati, il secondo suggerimemto devo inserirlo fuori dai while cosa che non posso fare

penso di essermi fatto capire, il while mi scarica tre risultati, usufruendo della variabile $reaction = $row['reaction']; mi scarica ad esempio 5 risultati

carlo
valerio
massimo
valerio
valerio

io voglio conteggiare valerio e nn tutti i risultati, dentro il while, come posso fare per prelevare il numero 3? il ciclo while me lo impedisce se inserisco un contatore mi da risultato 1 - 2 - 3 dovrei prendere l'ultimo risultato 3 per risolvere
 
Ultima modifica:

macus_adi

Utente Attivo
5 Dic 2017
1.326
89
48
IT/SW
Forse non hai visto bene la funzione di prima.... vedi cosa fa:
PHP:
$ar=['uno','due','tre','quattro','cinque'];
$data=[];
for($i=0;$i<25;$i++){
   $data[]=$ar[rand(0,count($ar)-1)];
}
print_r($data);
print_r(array_count_values($data));
output primo print_r
Codice:
Array
(
[0] => due
[1] => tre
[2] => uno
[3] => uno
[4] => due
[5] => uno
[6] => uno
[7] => tre
[8] => tre
[9] => uno
[10] => uno
[11] => cinque
[12] => cinque
[13] => quattro
[14] => quattro
[15] => uno
[16] => cinque
[17] => due
[18] => cinque
[19] => due
[20] => due
[21] => tre
[22] => quattro
[23] => cinque
[24] => quattro
)
Output secondo print_r
Codice:
Array
(
[due] => 5
[tre] => 4
[uno] => 7
[cinque] => 5
[quattro] => 4
)
Credo sia quello che a te serve.... nel caso specifico sapere quante volte è usata "uno"
PHP:
$conta=array_count_values($data);
print_r($conta['uno']);
 
  • Like
Reactions: trattorino
Discussioni simili
Autore Titolo Forum Risposte Data
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
M Problema su query JOIN in tre tabelle PHP 0
S Problema esportazione tabelle Mysql in Excel PHP 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
M Problema su update di 3 tabelle PHP 1
T problema con select dinamica con jquery Javascript 0
A Problema checkout carrello php PHP 2
R Problema al server Domini 0
A Problema nel passare la variabile PHP 0
G Problema update di un database PHP 0
S Problema con spazi bianchi HTML e CSS 4
E Problema motore di ricerca FULL_TEXT PHP 0
Tommy03 Problema durata cookie PHP 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
I PROBLEMA CODICE INSERTION SORT C C/C++ 2
I PROBLEMA CODICE C - INSERTION SORT Presentati al Forum 1

Discussioni simili