Ci risiamo___Array su intero codice

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Allora il mio script dovrebbe funzionare perfettamente... prova a modificare il ciclo così:
PHP:
print_r($dati);
print_r($dati2);

foreach($res as $key => $id) 
{ 
    $value = $totusc[$key]; 
     
    $sql = "UPDATE mon_prova SET entrate = '{$value}' WHERE id = '{$id}'"; 
    print_r($sql);

    mysql_query($sql) or die(mysql_error()); 
}
E dimmi cosa viene stampato a video.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Array ( [0] => 1 [1] => 6 [2] => 9 [3] => 5 [4] => 13 [5] => 12 [6] => 8 [7] => 10 [8] => 7 [9] => 24 [10] => 16 [11] => 2 [12] => 4 [13] => 25 [14] => 19 [15] => 14 [16] => 20 [17] => 11 [18] => 3 [19] => 23 [20] => 26 [21] => 15 [22] => 17 [23] => 18 [24] => 22 [25] => 21 ) Array ( [0] => 292 [1] => 318 [2] => 423 [3] => 289 [4] => 433 [5] => 451 [6] => 536 [7] => 443 [8] => 761 [9] => 328 [10] => 339 [11] => 474 [12] => 542 [13] => 246 [14] => 390 [15] => 850 [16] => 458 [17] => 422 [18] => 254 [19] => 254 [20] => 305 [21] => 487 [22] => 412 [23] => 271 [24] => 373 [25] => 278 )

ma non effettua l'update


@edit
modificato il quote, avevo sbagliato la prima variabile e non mi restituiva l'array
 
Ultima modifica:

Monital

Utente Attivo
15 Apr 2009
778
2
18
Ops, ho sbagliato io. Prova così:
PHP:
foreach($dati as $key => $id) 
{ 
    $value = $dati2[$key]; 
     
    $sql = "UPDATE mon_prova SET entrate = '{$value}' WHERE id = '{$id}'"; 
    mysql_query($sql) or die(mysql_error()); 
}

Oggi video tastiera router stampante stavo cercando di imparare a volare, ma nel momento in cui mi sono accorto che avevo messo $res al posto di $dati e dopo averlo sostuito lo script ha funzionato alla PERFEZIONE, sono tornati sulla mia scrivania :mavieni:

non ho parole aless sei un grande non c'è la faccina di addorazione ma la meriti tutta

questo sistema funge anche epr ricavare l'età media?

PHP:
  $query = "SELECT AVG(Eta) as tot_eta FROM utenti WHERE idutente='1';
    $risultato = mysql_query($query);
		if($risultato) {
  $row = mysql_fetch_array($risultato);
 $medeta=round($row['tot_eta'],1); // <- qui hai il risultato che ti aspetti
echo $medeta;
 }

faccio una query epr ogni utente cmq mò so troppo contento di sto foreach vado a lavorarci su

Grazi grazi ed ancora grazie


:book::book::book::book::book::book::book::book::book:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Potresti fare una cosa del genere:
PHP:
$sql = 'SELECT * FROM utenti';
$query = mysql_query($sql) or die(mysql_error());

$total = 0;

while($user = mysql_fetch_assoc($user))
	$total += $user['Eta'];

$rows = mysql_num_rows($total);

if($rows > 0)
	$avg = round($total / $rows, 1);
Fammi sapere se ha funzionato!
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
fiuuuuuuuuuuuuuuuu

scusa so stato preso dal codice precedente :hammer: stavo impazzendo sulle addizioni e sotrattozioni degli array poi ho risolto con una nuova tabella dove memorizzo i dati e successivamente li riestraggo e li sottraggo

cmq no non funzionail codice che hai postato mi resituisce pagina bianca, avevi dimenticato le graffe all' if e le ho aggiunte ma niente
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Le graffe nell'if non servono, perché successivamente viene eseguita una sola istruzione e si possono anche omettere. Comunque è normale che il mio script ti dia pagina bianca, perché non stampa a video nulla. Tuttavia, dopo aver eseguito quelle istruzioni, la variabile $avg dovrebbe contenere la media delle età.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Le graffe nell'if non servono, perché successivamente viene eseguita una sola istruzione e si possono anche omettere. Comunque è normale che il mio script ti dia pagina bianca, perché non stampa a video nulla. Tuttavia, dopo aver eseguito quelle istruzioni, la variabile $avg dovrebbe contenere la media delle età.

si la'vevo aggiunto io l'echo a $avg
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Ho sbagliato io. Modifica questa riga:
PHP:
$rows = mysql_num_rows($total);
Così:
PHP:
$rows = mysql_num_rows($query);

mi restituisce 1.1

che ovvaimene non ho

nella select ho aggiunto il where dove definisco l'utente da cercare

e non capisco bene perchè haid efinito total= a 0
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Modifica questa riga:
PHP:
$avg = round($total / $rows, 1);
Così:
PHP:
$avg = round($total / $rows);
La variabile $total è inizializzata a 0, ma poi, dopo il ciclo, assume il valore equivalente al totale delle età di tutti gli utenti. Successivamente, viene divisa per il numero degli utenti (la media si calcola dividendo la somma dei valori per il numero dei valori stessi).
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Modifica questa riga:
PHP:
$avg = round($total / $rows, 1);
Così:
PHP:
$avg = round($total / $rows);
La variabile $total è inizializzata a 0, ma poi, dopo il ciclo, assume il valore equivalente al totale delle età di tutti gli utenti. Successivamente, viene divisa per il numero degli utenti (la media si calcola dividendo la somma dei valori per il numero dei valori stessi).

ale non me ne volere


lo script funziona
PHP:
while($user = mysql_fetch_assoc($user))
    $total += $user['Eta'];

qua avevo tolto il + da vicino l'uguale, pensavo fosse stata una tua svustaper questo non andava
facendo vari echo e rivedendo il tuo script originale me ne so accorto


ora mi dà l'età media giusta

scusami se ti ho fatto eprde del tempo puoi/ vuoi spiegarmi sta cosa del +=


grazie cmq sei un grande sia per conoscenza che per disponibilità
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
però ale ok lo script funziona con un utente ma quando isnerisco nella where l'arrai delle id

mi restituisce l'età media di tutta la colonna


mentre nella mia tabella ci sono tot giocatori assegnati a x tot a y etc.

io vorrei fare l'eta emdia dei giocatori di misterx di mister y ecosì via

quindis empre inserendo nella where l'array degli id utenti
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Non ho capito bene quale condizione devono rispettare i record di cui devi calcolare la media... dimmi direttamente a quale valore deve corrispondere quale campo.

Comunque scrivere:
PHP:
$total += $row['Eta'];
È come scrivere:
PHP:
$total = $total + $row['Eta'];
Solo che si può abbreviare.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Non ho capito bene quale condizione devono rispettare i record di cui devi calcolare la media... dimmi direttamente a quale valore deve corrispondere quale campo.

Comunque scrivere:
PHP:
$total += $row['Eta'];
È come scrivere:
PHP:
$total = $total + $row['Eta'];
Solo che si può abbreviare.

deve calcolare l'età media dei giocatori assegnati ad un utentex

in pratica nella tabella deve pescare tutte l'eta dove c'è come utente l'utentex e farne la media

solo che invece di scrivere

PHP:
$sql = 'SELECT * FROM utenti' where Nome='$utentex';
$query = mysql_query($sql) or die(mysql_error());

come lo script di prima vorrei fare

PHP:
$sql = 'SELECT * FROM utenti' where Nome IN($tuttiutenti)';
$query = mysql_query($sql) or die(mysql_error());
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Non capisco... se esegui una query del genere è come se estraessi tutti i giocatori, perché tutti i giocatori sono assegnati ad un utente ma tu selezioni i giocatori di TUTTI gli utenti. A questo punto la condizione perde significato... è come se io in una tabella avessi un campo ENUM che può essere 1, [/B]2[/B] o 3 e scrivessi una query del genere:
Codice:
SELECT * FROM tabella WHERE campo IN('1','2','3')
La condizione sarebbe inutile. Sarebbe uguale scrivere:
Codice:
SELECT * FROM tabella
Avrebbe avuto un senso se avessi voluto selezionare i giocatori di un determinato utente e ricavarne l'età media, ma così non ne vedo l'utilità...
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Avrebbe avuto un senso se avessi voluto selezionare i giocatori di un determinato utente e ricavarne l'età media, ma così non ne vedo l'utilità...
questo è quello che mi serve

in pratica io già ora ricavo l'età media di tutti i giocatori di un determinato utente solo che attualmente lo faccio uno per uno

invece con questa funzione vorrei che ricavasse l'età media di tutti i giocatori di un utente ma utente per utente
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Quindi tu hai bisogno, per esempio, di un array associativo composto così:
Codice:
utente1 => [età media dei suoi giocatori],
utente2 => [età media dei suoi giocatori],
utente3 => [età media dei suoi giocatori]
E così via, giusto? Cioè per ogni utente la relativa media?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
Quindi tu hai bisogno, per esempio, di un array associativo composto così:
Codice:
utente1 => [età media dei suoi giocatori],
utente2 => [età media dei suoi giocatori],
utente3 => [età media dei suoi giocatori]
E così via, giusto? Cioè per ogni utente la relativa media?

si esatto
però il problema è che la tabella e fatta cosi

ID Nome Eta Utente
1 Pippo 20 Giovanni
2 Topolino 22 Matteo
3 Pluto 18 Francesco
4 Minni 25 Giovanni

quindi l'utente può ripwtersi + volte nella tabella perciò dovrei estrarre prima tutte le età relative all'utente e poi farne la media
 
Discussioni simili
Autore Titolo Forum Risposte Data
otto9due Leggere valore da array multidimensionale a chiavi dinamiche PHP 1
M Passaggio variabili array php su un tasto jq PHP 3
M Somma inversa di Array C/C++ 2
MarcoGrazia Iterazione array PHP 5
N Passare array da php a javascript PHP 5
G Ordinare un array multidimensionale PHP 4
H Errore su array associativo PHP 1
K Array senza ripetizioni Presentati al Forum 4
A Gestione array multidimensionale PHP 6
otto9due Più chiavi in array con array_key_exists() PHP 0
M Array associativi php su 2 campi mysql PHP 10
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L Sessione e array per utenti PHP 0
R Importazione csv su mysql tramite array PHP 2
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
P Ciclare tra array di oggetti PHP 1
R Raggruppare valori array PHP 5
S Come conoscere la posizione di numeri in un array escludendo i doppioni PHP 4
D Popolare array PHP 8
R Includere elementi array fra apici PHP 1
P Array da foreach PHP 2
N Variabile di sessione è un array PHP7 PHP 3
R Scorporare array e recuperare record tabella PHP 10
A Contare gli elementi di un array PHP 13
A Importare array in mysql PHP 1
A Array di immagini Sviluppo app per Android 10
D Chiave unica in estrazione dati da array php PHP 0
D Spazio vuoto in un elemento di un array php PHP 2
S Come filtrare valori di un array PHP 4
mazman mysqli_query() mi ritorna un array vuoto anche se presente un record nella tabella PHP 13
A Non è un array e nemmeno un intero, che tipo di dato è? Javascript 1
max1974 PHP, Array Multidimensionale e Grafici PHP 22
S [PHP] Confrontare due array con valori quasi uguali PHP 2
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R [PHP] Visualizzazione dati Array PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
M Importare - Manipolare Json Array Sviluppo app per Android 2
M [PHP] Problemi su inserimento array nel db PHP 7
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
G [ASP] Ciclare i valori di 2 array Classic ASP 2
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
max1974 [PHP] Raggruppare array PHP 4
A [PHP] Caricamento database in array PHP 11
G sql select con array in php PHP 1
L [Java] Aggiungere elementi ad array JSON Java 0
S [PHP] individuare chiave elemento array PHP 7
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
Emix [Javascript] Somma con array input HTML Javascript 1

Discussioni simili