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

    [LOGICA] funziona matematica per trovare range valori

    Salve a tutti... ho un problema di logica e risoluzione matematica.
    Devo usare un JQUERY slide per dare un range massimo ed uno minimo ad una ricerca che devo fare.
    Facendo un minimo di analisi, ma magari mi sbaglio posso immaginare che il mio cursore possa cambiare valore ad uno spostamento minimo di 1px. quindi devo calcolare lo step da applicare a tale spostamento, ma devo anche correggere i valori massimo e minimo perchè devono essere multipli dello step. Provo a spiegarmi meglio:

    - dal DB estraggo un valore minimo VAL-MIN
    - dal DB estraggo un valore massimo VAL-MAX
    - conosco la lunghezza in px dello slider (quindi il numero di step massimi) N_STEP

    con questi dati io devo trovare il valore dello step singolo ed i reali VAL-MIN e VAL-MAX
    Faccio un esempio proprio per essere sicuro di essermi spiegato:

    dal DB estraggo VAL-MIN = 3 e VAL-MAX = 201 e so che ho a disposizione N_STEP = 100
    Ad occhio posso dire che il VAL-MIN reale sarà 2 ed il VAL-MAX reale sarà 202 e che lo STEP sarà di 2, ma se dovessi creare una funzione per calcolare questo al volo non sarei capace... Mi sapete aiutare?
    GRAZIE
    RINO
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2
    Codice PHP:
    $max 201;
    $max 3;
    $steps 100;
    $incremento ceil( ($max-$min)/100 ); 
    considerando che l'impossibilità di usare numeri decimali per gli incrementi ti potrebbe portare ad avere allo step 100 un valore maggiore di $max
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    se il risultato è leggermente più alto non mi cambia nulla (intendo il val max)
    Mi rimane un problema... questa soluzione funzione se io posso partire da un valore minimo anche non multiplo dell'intervallo.
    Faccio una prova, ma sul manuale di jquery si dice il contrario. Quindi dovrei trovare anche il VAL-MIN ed il VAL-MAX multipli e distanti 100 step
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  4. #4
    Originariamente inviato da rinosan_76bis
    se il risultato è leggermente più alto non mi cambia nulla (intendo il val max)
    Mi rimane un problema... questa soluzione funzione se io posso partire da un valore minimo anche non multiplo dell'intervallo.
    Faccio una prova, ma sul manuale di jquery si dice il contrario. Quindi dovrei trovare anche il VAL-MIN ed il VAL-MAX multipli e distanti 100 step
    ma non avevi detto che il val-min e max li prendevi dal database? Diciamo che allora hai il valore-max, lo dividi per il numero di step e hai il valore minimo, che sarà uguale a quello dell'incremento. Cmq qui il problema non è la matematica ma è quello che devi ottenere. Vuoi l'incremento dato min e max? max-min/n°_steps . Vuoi il valore minimo dato il max e il numero di step? è o 0 o max/n°_step a seconda se il componente di jquery intenda come step1 il primo step o la posizione "tutta a sinistra" del cursore sulla barra. Vuoi il massimo dato il minimo e gli step? non si può perchè non si conosce l'incremento. Quindi che vuoi?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Diciamo che nel db ho degli articoli che vanno da 3 a 201 euro io so che la mia ricerca deve partire da 3 o poco meno e finire a 201 0 poco più. Se faccio il valore massimo diviso gli step ottengo da 0 a 201, ma io da 0 a 3 non ho nulla, quindi la ricerca per 0-2 sarebbe vuota e poi gli step in questo caso sarebbero 101 ed io ne ho solo 100.

    Io devo trovare il giusto range dove VAL-MIN e VAL-MAX sono il più vicino possibile ai valori limiti dati da un numero stabilito di STEP

    L'esempio serve a far capire che è inutile partire da 0 perchè 2 è il limite inferiore più vicino a 3 per un range che con 100 step da 2 arriva a 202 che è il limite superiore più vicino a 201.
    Spero di essermi spiegato meglio!
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  6. #6
    Originariamente inviato da rinosan_76bis
    Diciamo che nel db ho degli articoli che vanno da 3 a 201 euro io so che la mia ricerca deve partire da 3 o poco meno e finire a 201 0 poco più. Se faccio il valore massimo diviso gli step ottengo da 0 a 201, ma io da 0 a 3 non ho nulla, quindi la ricerca per 0-2 sarebbe vuota e poi gli step in questo caso sarebbero 101 ed io ne ho solo 100.

    Io devo trovare il giusto range dove VAL-MIN e VAL-MAX sono il più vicino possibile ai valori limiti dati da un numero stabilito di STEP

    L'esempio serve a far capire che è inutile partire da 0 perchè 2 è il limite inferiore più vicino a 3 per un range che con 100 step da 2 arriva a 202 che è il limite superiore più vicino a 201.
    Spero di essermi spiegato meglio!
    scusa eh, il valore minimo è 3, il valore massimo è 201, gli step sono 100 e l'incremento è 2, cioè step 0 = fino a 3, step 1 fino a 5, step 2 fino a 7 ...... step 100 fino a 203. Ovvero ceil((MAX-MIN)/n°_STEP). Se al coso jquery non gli piace il ragionamento, mica è colpa nostra oO

    la parte in grassetto non ha senso, almeno non per quanto spiegato: val-min = 3 e val-max = 201, non ne hai altri di dati.

    altrimenti applichi una conversione: val-min = 0 e val-max = 100 lato client si trasormano, lato server, in val-min 3 e val-max = 100, valori > 0 di val-min li calcoli con valore(i) = 3+ (incremento) * i , dove i è il valore che jquery restituisce dalla barra (0,1,2,...100), 3 è il valore minimo che hai nel database, incremento è dato dalla formula (201-3)/100
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    pensavo che se il problema è che il MASSIMO debba essere un multiplo del minimo, allora il discorso è:

    val-min = 3

    incremento = ceil(201-3/100)

    val-max = 3+ incremento*100

    ovviamente val-max > 201 in questo caso. difficile che val-max è MASSIMO (quello preso dal db) possano coincidere visto che diamo per scontato che non usiamo incrementi decimali
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.