confrontare due stringhe "numeriche"

francescoITA

Nuovo Utente
10 Gen 2020
12
0
1
Buongiorno a tutti,
mi sto cimentando nello sviluppo di un programma web in php-sql.
Ho un problema nella verifica di due stringhe "numeriche".. provo a spiegarmi meglio:

ho due db creati su phpMyadmin :
uno, di nome f12 dove all'interno c'è un campo "PLT" di tipo varchar(12) con codifica utf8_general_ci, dove all'interno di sono importi (in stringa) di questo tipo : "€ 2.500,00" oppure " 339,00" (occhio che c'è lo spazio all'inizio)

un altro db, di nome ag2020 dove all'interno vi è un campo "importo" di tipo varchar(15) e codifica utf8_general_ci , all'interno ci possono essere dati di questo tipo: "1282.43" oppure " 3026.87 " (spazio avanti e indietro)



tramite una funzione vorrei estrarre i dati per poterli confrontare, andando poi ad alimentare un campo "check" all'interno del db "f12" dove dovra essere "" se non sono uguali, "OK" se i numeri sono gli stessi.

Detto questo (spero di essere stato chiaro e di avervi dato tutte le informazioni utili):

vi evidenzio la parte che mi da problemi
ipotizziamo che nel db ag2020 ci sia tra i dati, importo = " 2764.57 "
e che nel db f12 ci sia tra i dati, PLT = " 2764,57 "
PHP:
$sql1 = "SELECT numero, data, nome, PLT FROM f12";

                $res1 = $conage->query($sql1);

                if (@$res1->num_rows > 0) { ?>

                <table><?php               

                    while ($rig1 = mysqli_fetch_array($res1, MYSQLI_BOTH)) {

                        $incnumero = $rig1['numero'];

                        $incdata = $rig1['data'];

                        $incnome = $rig1['nome'];

                        $incPLT = $rig1['PLT'];

                                          

                        $incPLT = str_replace(",", ".", $incPLT);

                        $incPLT = str_replace(" ", "", $incPLT);

                      


                          

                         $sql20 = "SELECT * FROM $ag2020 WHERE num LIKE '%$incnumero%' AND datainizio = '$incdata' AND TRIM(importo) = '$incPLT';


          

                          

                            $res20 = $conins->query($sql20);

                            if ($res20->num_rows > 0) {

                                while ($rig20 = mysqli_fetch_array($res20, MYSQLI_BOTH)) {

                                    $check= 'OK';

                             .....ecc

                                }


vorrei che il programma capisse che ci troviamo davanti allo stesso "numero"






se faccio così, pur avendo svuotato gli spazi e cambiato la virgola con il punto , non mi restituisce risultati (pur essendoci).. ho provato anche la funzione trim($incPLT) in aggiunta, ma neanche funziona


se invece utilizzo la funzione LIKE al posto dell' = , allora mi trova il risultato


$sql20 = "SELECT * FROM $ag2020 WHERE num LIKE '%$incnumero%' AND datainizio = '$incdata' AND importo LIKE '%$incPLT%';


il problema è che se importo fosse = " 12764.57 " e PLT = " 2764,57 " mi darebbe comunque OK - pur non essendo lo stesso numero - perchè la stringa è contenuto all'interno dell'altra


come posso fare senza cambiare tutte le strutture dei db?

Vi ringrazio in anticipo
buona giornata a tutti
 
Ultima modifica di un moderatore:

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Prova a dare un'occhiata alla funzione floatval(stringa) , che te lo converte in float. Pero in questo caso devi stare attento ad avere solo "." e non "," prima della parte decimale, perche sennò converte a numero intero
 

francescoITA

Nuovo Utente
10 Gen 2020
12
0
1
Prova a dare un'occhiata alla funzione floatval(stringa) , che te lo converte in float. Pero in questo caso devi stare attento ad avere solo "." e non "," prima della parte decimale, perche sennò converte a numero intero

Mmm ho visto la funziona però questa è applicabile solo al linguaggio php e non saprei come applicare la conversione del campo “importo” in float “al volo” durante la query

qualche altro suggerimento?

grazie mille
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
@francescoITA
avviso.png
 
Discussioni simili
Autore Titolo Forum Risposte Data
N Confrontare due Stringhe PHP 2
G Confrontare due stringhe PHP 11
F confrontare due stringhe c Programmazione 0
S [PHP] Confrontare due array con valori quasi uguali PHP 2
otto9due Confrontare due array: verificare che tutti i valori di un'array siano contenuti in un'altra. jQuery 1
P [PHP] Confrontare due password e due email PHP 4
P Unire, confrontare due tabelle da due db diversi fati in phpmyadmin Database 5
L confrontare automaticamente due liste excell Windows e Software 0
F confrontare due date PHP 1
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
A Confrontare il tipo Generics a runtime Presentati al Forum 1
E [PHP] confrontare stringhe importate da csv PHP 19
D confrontare numero di file Classic ASP 0
A confrontare dati MySQL 8
M Confrontare data, ora e aula per evitare sovrapposizioni PHP 8
S Stringhe: confrontare immissione con stringa d'esempio e costruire stringhe da più campi PHP 10
max_400 Database: Confrontare una variabile con una colonna di numeri PHP 6
R Confrontare prodotti PHP 36
I Confrontare Variabile con Array PHP 8
A Confrontare 2 stringhe in JScript Classic ASP 0
max75 query su due tabelle e dati doppioni MS Access 2
T come ordinare dei record recuperati da due tabelle MySQL 0
K Mettere insieme due funzioni Javascript 2
C Autenticazione a due fattori FB Social Media Marketing 0
A Visualizzazione due tabelle PHP 1
T Query su due tabelle con totali Database 4
MarcoGrazia Calcolo fra due date con esclusione delle feste PHP 7
P inserire due voci in un titolo post wp WordPress 1
J Scrivere in due JPanel Java 1
M Aggiornare stesso campo in due tabelle PHP 0
M Collegare due segmenti di rete diversi Reti LAN e Wireless 0
M Aggiornare simultaneamente i campi di due tabelle collegate con id PHP 4
Tommy03 Unire dati da due tabelle MySQL 5
A Cercare un carattere uguale in due stringhe Java 5
elpirata [MySQL] Sincronizzare dati tra due tabelle sullo stesso host MySQL 0
G Mi hanno fatto due preventivi per telecamere abitazione IP Cam e Videosorveglianza 8
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
Tommy03 Due menù nella stessa app Sviluppo app per Android 0
I [PHP] generazione url "uguale" che punta a due immagini diverse PHP 0
felino Bootstrap alert: usare lo stesso div per due messaggi consecutivi jQuery 1
G Condividere 1 cartella in rete due computer windows 10 Reti LAN e Wireless 0
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
M PHP Arrotondamento minuti in differenza tra due Orari PHP 9
N due siti web sullo stesso spazio hosting Hosting 0
S [PHP] come esportare due tabelle in file excel su due fogli distinti PHP 8
maxnegri Conoscere giorni della settimana fra due date con php PHP 2
felino EXCEL: verifica dati mancanti tra due sheet Windows e Software 2
I Allineare due righe di testo in photoshop Photoshop 2
Monital funzione php si ripete due volte PHP 6

Discussioni simili