Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    operatori matematici in record sql

    buongiorno,
    per evitare interpretazioni all'interno del codice php vorrei poter inserire nel db mysql un operatore matematico, quindi:

    id | operazione | valore
    1 | + | 10.50
    2 | % | 10
    3 | - | 22

    in questo modo, con php cercherei di far stampare direttamente l'operatore tra due cifre.
    è una mia idea ma vorrei capire quanto astrusa :-)

    come posso agire?

    mi hanno parlato di store procedure ma, attualmente, non saprei da dove iniziare.

    grazie del vostro aiuto.
    ---------------------------
    danielix05

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao. Scusa ma non ho capito cosa vorresti ottenere.

  3. #3

    cerco di spiegare meglio

    1. su un gestionale devo fare un'operazione
    2. quindi, dato un importo da listino devo sottrarre uno sconto se attivo in quella data per quel prodotto.
    3. attenzione, lo sconto può essere in % o in euro
    4. se in euro dovrei fare importo - valore_sconto
    5. se % farei importo - valore_sconto %
    6. la mia fantasia sarebbe mettere gli operatori direttamente in un record sql (come mostrato nel post precedente) e far calcolare il tutto in query non con codice php.
    ---------------------------
    danielix05

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Spero questo esempio ti sia d'aiuto.

    codice:
    create table prodotti (
    id int not null auto_increment primary key,
    prezzo decimal(5,2),
    operatore char(1),
    valore decimal(4,2)
    ) engine = myisam;
    
    insert into prodotti 
    (prezzo,operatore,valore)
    values 
    (100,'-',20),
    (70,'-',15),
    (80,'%',20);
    
    select *,
    case 
    when operatore = '-' then prezzo - valore
    else format(prezzo - ((prezzo /100) * valore),2)
    end as risultato
    from prodotti

  5. #5

    grazie

    si adesso le idee sono più chiare.
    praticamente c'è sempre un if di mezzo, l'operatore non può essere "visto" direttamente
    voglio dire: se nel campo operatore ho % non lo posso far visualizzare direttamente tra due cifre

    tipo
    codice:
    $operatore = "%";
    
    $cifra1 ."". $operatore ."". $cifra2;
    so che non funziona ma è per spiegare l'idea. se si potesse ottenere qualcosa del genere...

    ciò che hai scritto tu può essere considerata una store procedure?
    ---------------------------
    danielix05

  6. #6
    il fatto è che la percentuale non è un'operazione matematica diretta, come invece sono addizione, sottrazione ecc in quel caso potresti direttamente

  7. #7

    per optime

    il fatto è che la percentuale non è un'operazione matematica diretta, come invece sono addizione, sottrazione ecc in quel caso potresti direttamente
    e come potrei? anche mettendo $operatore = "+"; non ottengo ciò che vorrei

    ---------------------------
    danielix05

  8. #8
    non so come si faccia con php, però con vb farei

    cmd="select " + colonna1 + operatore + colonna2 + "as risultato from tabella"

    e poi eseguirei il comando

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.