• User

    Ok, funziona!
    Ma mi somma tutti gli articoli assieme,
    io vorrei che mi sommi articolo per articolo

    cioè se io ho inserito 20 volte l'articolo computer deve ritornarmi una riga sola con

    nr. 20 computer


  • Moderatore

    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 :yuppi:


  • User

    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: **canalina

    Io 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?


  • Moderatore

  • User

    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


  • Moderatore

    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.


  • User

    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 />";
    


  • Moderatore

    echo "Total ". $row['codice']. " = Nr.". $row['somma'];


  • User

    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'];


  • User

    Ho fatto cosi e funziona.....

    echo "Total ". $row['codice']. " = Nr.". $row['SUM(quantita)'];
    echo "Total ". $row['prezzo']. " = Nr.". $row['articolo'];


  • Moderatore

    Devi modificare anche la query usando l'AS:

    $query = "SELECT codice, SUM(quantita) AS somma, articolo, prezzo FROM articolo GROUP BY codice";


  • User

    ok, fatto.
    Gia che ci siamo, se volessi inserire i risultati in celle tipo excel cosi è più bellino.
    Potresti indicarmi come fare.
    Grazie30000


  • Moderatore

    "tipo excel" che intendi?
    Graficamente simile a excel ma pur sempre una pagina web o vorresti fare proprio un'esportazione in excel?


  • User

    Graficamente simile a excel ma pur sempre una pagina web.


  • Moderatore

    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.


  • User Attivo

    Ciao
    qua trovi alcuni stili css per tabelle, prova a guardare se qualcuno fa al caso tuo

    https://www.freshdesignweb.com/free-css-tables/


  • User

    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]


  • User

    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'].  "  &#8364;". $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>