- Home
- Categorie
- Coding e Sistemistica
- Coding
- Sommare articoli
- 
							
							
							
							
							
Sommare articoliCiao A tutti, 
 come posso eseguire una query dove va a sommarmi le quantità articolo per articolo, in poche parole le quantità presenti in magazzino.
 Grazie
 
- 
							
							
							
							
							Vuoi eseguire una query dove? potresti almeno dirci il nome della tabella o dei campi, comunque ti faccio un esempio di query mysqli ad oggetti per il conteggio dei prodotti su una tabella fittizia. [PHP] 
 $query = $mysqli->query("SELECT quantita from prodotti");$quantita = 0; while($row = $query->fetch_row()){ $quantita = $quantita + $row[0]; } echo $quantita; 
 [/PHP]Questo nel caso in cui tu abbia una tabella di nome prodotti con un campo quantita che specifica la quantità presente per quell'articolo, facendo in questo modo vai sommando tramite un ciclo tutte le quantita presenti per tutti gli articoli registrati nel DB. 
 Questa è la logica dello script che dovrai fare, il metodo devi vederlo tu.
 
- 
							
							
							
							
							
Si scusa è vero.... 
 Io ho una tabella che si chiama articoli,
 dentro ho le seguenti voci
 Codice
 quantita
 articolo
 A questo punto viene cosi?$query = $mysqli->query("SELECT quantita from articoli"); $quantita = 0; while($row = $query->fetch_row()){ $quantita = $quantita + $row[0]; } echo $quantita; 
 Pero da errore; Parse error: syntax error, unexpected '$query' (T_VARIABLE) riga 20 
 La riga 20 è
 $query = $mysqli->query("SELECT quantita from articolo");
 
- 
							
							
							
							
							Il mio non era un esempio di codice applicabile al tuo in quanto al 99% utilizzi una stringa o un metodo di connessione diverso da quello che ti ho portato come esempio. Ti metto il codice completo per far funzionare il mio, compreso di connessione al DB. [PHP] 
 <?php// connessione a MySQL con l'estensione MySQLi 
 $mysqli = new mysqli("localhost", "username", "password", "miodb");// verifica dell'avvenuta connessione 
 if (mysqli_connect_errno()) {
 // notifica in caso di errore
 echo "Errore in connessione al DBMS: ".mysqli_connect_error(); // interruzione delle esecuzioni i caso di errore
 exit();
 }$query = $mysqli->query("SELECT quantita from prodotti"); $quantita = 0; while($row = $query->fetch_row()){ $quantita = $quantita + $row[0]; } echo $quantita; ?> 
 [/PHP]Adesso sostituisci i parametri con i tuoi e ti dovrebbe andare. 
 
- 
							
							
							
							
							
Ok, funziona! 
 Ma mi somma tutti gli articoli assieme,
 io vorrei che mi sommi articolo per articolocioè se io ho inserito 20 volte l'articolo computer deve ritornarmi una riga sola con nr. 20 computer 
 
- 
							
							
							
							
							Certo che funziona  Allora puoi fare in questa maniera: [PHP] 
 <?php// connessione a MySQL con l'estensione MySQLi 
 $mysqli = new mysqli("localhost", "username", "password", "miodb");// verifica dell'avvenuta connessione 
 if (mysqli_connect_errno()) {
 // notifica in caso di errore
 echo "Errore in connessione al DBMS: ".mysqli_connect_error(); // interruzione delle esecuzioni i caso di errore
 exit();
 }$query = $mysqli->query("SELECT articolo,quantita from articoli"); while($row = $query->fetch_row()){ echo 'Sono presenti n. '.$row[1].' per l'articolo: <b>'.$row[0].'</b></br>'; } ?> [/PHP] Enjoy  
 
- 
							
							
							
							
							
Funziona cosi; Sono presenti n. 1 per articolo: Computer 
 Sono presenti n. 1 per articolo: Computer
 Sono presenti n. 100 per articolo: Canalina bianca Bocc
 Sono presenti n. 100 per articolo: Canalina bianca Bocc
 Sono presenti n. 100 per articolo: **canalinaIo però vorrei che il risultato fosse: **Sono presenti n. 2 per articolo: Computer Sono presenti n. 200 per articolo: Canalina bianca Bocc Sono presenti n. 100 per articolo: canalina è possibile? 
 
- 
							
							
							
							
							Ciao, 
 prova a guardare qui: http://www.tizag.com/mysqlTutorial/mysqlsum.php
 
- 
							
							
							
							
							
OK, ho fatto cosi; 
 <?php // Richiamiamo il file delle connessioni 
 require_once('Connessioni/mysqlconn.php');// seleziono il database mysql_select_db($database, $corso); // impostiamo una variabile per il successo $bSuccesso = true;// Make a MySQL Connection $query = "SELECT codice, SUM(quantita) FROM articolo GROUP BY codice"; $result = mysql_query($query) or die(mysql_error()); // Print out result 
 while($row = mysql_fetch_array($result)){echo "Total ". $row['codice']. " = Nr.". $row['SUM(quantita)']; echo "<br />";} ?> 
 E funziona mi restituisce: Total bbret = Nr.2 
 Total LEX40X5451 = Nr.0
 Total OS0330 = Nr.0
 Total reca011 = Nr.200
 Total Reca023 = Nr.100
 Vorrei aggiungere anche articolo e prezzo, ma non ci riesco. 
 Mi potete aiutare.
 Grazie
 
- 
							
							
							
							
							SELECT codice, SUM(quantita) FROM articolo GROUP BY codice diventa qualcosa tipo: SELECT codice, SUM(quantita), articolo.nome, prezzo FROM articolo GROUP BY codice Inoltre ti consiglierei di usare l'AS per il SUM. In pratica scrivendo nella query SUM(quantita) AS somma. 
 In questo modo in PHP puoi leggerlo con $row['somma']Fammi sapere come va. 
 
- 
							
							
							
							
							
Ok , 
 ma sulla parte print come faccio;
 // Print out result 
 while($row = mysql_fetch_array($result)){echo "Total ". $row['codice']. " = Nr.". $row['SUM(quantita)']; echo "<br />";
 
 
- 
							
							
							
							
							echo "Total ". $row['codice']. " = Nr.". $row['somma']; 
 
- 
							
							
							
							
							
Perdonami ma sono agli inizi.... 
 Ho fatto cosi,
 <?php // Richiamiamo il file delle connessioni 
 require_once('Connessioni/mysqlconn.php');// seleziono il database mysql_select_db($database, $corso); // impostiamo una variabile per il successo $bSuccesso = true;// Make a MySQL Connection $query = "SELECT codice, SUM(quantita), articolo, prezzo FROM articolo GROUP BY codice"; $result = mysql_query($query) or die(mysql_error()); // Print out result 
 while($row = mysql_fetch_array($result)){echo "Total ". $row['codice']. " = Nr.". $row['somma']; echo "<br />";} ?> 
 Ma da errore; Notice: Undefined index: somma in D:\XAMPP\htdocs\Magazzini\InventarioArticoli.php on line 27 
 Total Reca023 = Nr.La line 27 è : echo "Total ". $row['codice']. " = Nr.". $row['somma']; 
 
- 
							
							
							
							
							
Ho fatto cosi e funziona..... echo "Total ". $row['codice']. " = Nr.". $row['SUM(quantita)']; 
 echo "Total ". $row['prezzo']. " = Nr.". $row['articolo'];
 
- 
							
							
							
							
							Devi modificare anche la query usando l'AS: $query = "SELECT codice, SUM(quantita) AS somma, articolo, prezzo FROM articolo GROUP BY codice"; 
 
- 
							
							
							
							
							
ok, fatto. 
 Gia che ci siamo, se volessi inserire i risultati in celle tipo excel cosi è più bellino.
 Potresti indicarmi come fare.
 Grazie30000
 
- 
							
							
							
							
							"tipo excel" che intendi? 
 Graficamente simile a excel ma pur sempre una pagina web o vorresti fare proprio un'esportazione in excel?
 
- 
							
							
							
							
							
Graficamente simile a excel ma pur sempre una pagina web. 
 
- 
							
							
							
							
							Allora ti serve studiare i css ed imparare a modificarli per avere la resa grafica che vuoi ottenere. 
 Non so se esiste qualcosa di già pronto. Prova a cercare.
 
- 
							
							
							
							
							
Ciao 
 qua trovi alcuni stili css per tabelle, prova a guardare se qualcuno fa al caso tuo