- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sommare articoli
-
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
-
Nemmeno un minimo aiuto?
[TABLE]
[TH="align: left"]ID[/TH]
[TH="align: left"]Codice[/TH]
[TH="width: 150, align: left"]Articolo[/TH]
[TH="width: 9, align: left"]Quantita[/TH]
[TH="width: 30, align: left"]Prezzo[/TH]
[/TR]
[/TABLE][TABLE]
[TH="align: left"]
[/TH]
[TH="align: left"]
[/TH]
[TH="width: 9, align: left"]
[/TH]
[TH="width: 30, align: left"]
[/TH]
[/TR]
[/TABLE]
-
Ho dato un'occhiata al link, ho modificato il css e l'html come da esigenze.
non capisco però come fare a collegare la query all'html;query
$query = "SELECT codice, SUM(quantita), articolo, IDcodice, prezzo FROM articolo GROUP BY codice";
$result = mysql_query($query) or die(mysql_error());// Print out result
while($row = mysql_fetch_array($result)){echo " ". $row['codice']. " Nr.". $row['SUM(quantita)']; echo " ". $row['articolo']. " €". $row['prezzo']; echo "<br />";
Html
<link href="css.css" rel="stylesheet" type="text/css">
<div id="table">
<div class="header-row row">
<span class="cell primary">quantita</span>
<span class="cell">codice</span>
<span class="cell">articolo</span>
<span class="cell">prezzo</span>
<span class="cell">ID</span>
</div>
<div class="row">
<input type="quantita" name="expand">
<span class="cell primary" data-label="Vehicle">articolo</span>
<span class="cell" data-label="codice">World Rally Blue</span>
<span class="cell" data-label="articolo">Black</span>
<span class="cell" data-label="prezzo">2.5L H4 Turbo</span>
<span class="cell" data-label="ID"><a href="">5 Speed</a></span>
</div>
<div class="row"></div>