Zippo978 Posted May 22, 2023 Report Posted May 22, 2023 Salve a tutti, premetto che non sono un programmatore ma per piccole modifiche me la cavo, ho questa funzione if ($prezzo2 == '0') { $prezzo2 = ""; } else { $prezzo2 = "$prezzo2,00"; } e questa somma $totale = "$prezzo0"+"$prezzo1"+"$prezzo2"+"$prezzo3"+"$prezzo4"+"$prezzo5"+"$prezzo6"+"$prezzo7"+"$intprezzo8"; ma mi restituisce questo errore Tipi di operandi non supportati: int + string dato che nel db il campo non posso metterlo null e mi serve che nella pagina non venga visualizzato lo 0 come posso fare per non stamparelo nella pagina?
max.riservo Posted May 22, 2023 Report Posted May 22, 2023 Ovviamente NON puoi sommare numeri con stringhe mentre la possibilità che sul DB un campo numerico possa anche contenere il valore NULL è una scelta progettuale, eventualmente modificabile nel caso tu avessi accesso al DB come amministratore dello stesso. Quindi hai queste soluzioni : - quando il campo vale zero rimate tale (cioè zero). In fondo che problema hai nel sommare zero al totale ? - per ogni campo che non vuoi sommare quando è zero (che comunque non somma alcunché) esegui un test sul suo valore e se è zero non lo includi nella sommatoria. - i campi che visualizzi a video sono una copia dei campi che utilizzi nella sommatoria. In questo modo il campo visualizzato a video può essere trasformato in stringa (quindi puoi anche visualizzare una stringa nulla/vuota/di lunghezza zero) mentre nella sommatoria continui ad utilizzare il campo numerico (anche quando vale zero). Valuta di dotarti di un buon libro su PHP ...
Zippo978 Posted May 22, 2023 Author Report Posted May 22, 2023 immamzi tutto grazie mille per a risposta, ma mi sa che mi sono espresso male io, non mi interessa se alla somma mette lo 0 o meno mi interessa che non compaia nella pagina web cioè da cosi a cosi quindi quell' $prezzo2 = "" si puo anche eliminare l' importante è che a video non si veda lo 0. Ho provato a mettere NULL la cella nel db ma non lo accetta.
Zippo978 Posted May 22, 2023 Author Report Posted May 22, 2023 immamzi tutto grazie mille per a risposta, ma mi sa che mi sono espresso male io, non mi interessa se alla somma mette lo 0 o meno mi interessa che non compaia nella pagina web cioè da cosi a cosi quindi quell' $prezzo2 = "" si puo anche eliminare l' importante è che a video non si veda lo 0. Ho provato a mettere NULL la cella nel db ma non lo accetta. Dopo una giornata a sbatterci la testa ho risolto, in pratica ho messo il ciclo if la sommatoria, in questa maniera la somma se la fa tranquillamente e dopo prende i risultati e li stampa come dico io, era cosi semplice che non ci avevo pensato 😅 Grazie @max.riservo immamzi tutto grazie mille per a risposta, ma mi sa che mi sono espresso male io, non mi interessa se alla somma mette lo 0 o meno mi interessa che non compaia nella pagina web cioè da cosi a cosi quindi quell' $prezzo2 = "" si puo anche eliminare l' importante è che a video non si veda lo 0. Ho provato a mettere NULL la cella nel db ma non lo accetta. Dopo una giornata a sbatterci la testa ho risolto, in pratica ho messo il ciclo if dopo la sommatoria, in questa maniera la somma se la fa tranquillamente e dopo prende i risultati e li stampa come dico io, era cosi semplice che non ci avevo pensato 😅 Grazie @max.riservo
DavideDaSerra Posted April 9, 2024 Report Posted April 9, 2024 (edited) Per la gioia di spiegare: if ($prezzo2 == '0') { $prezzo2 = ""; } else { $prezzo2 = "$prezzo2,00"; } L'errore è qui: $prezzo2="" metti una "stringa vuota" in un campo che poi sommi, l'operatore "+" vede da una parte un intero e dall'altra una stringa e non riesce a sommarli. Aggiungo che anzicè aggiungere ",00" a mano avrei usato la funzione number_format($number, 2, ',', '.'); //2 è il numero di devimali, ',' è il separatore decimali e il terzo è il separatore delle migliaia. number_format(1234.564,2,',','.'); ti produce 1.234,56 Edited April 9, 2024 by DavideDaSerra
Livio Orsini Posted April 9, 2024 Report Posted April 9, 2024 Dopo quasi un anno dovrebbe aver risolto il suo problema.😁
Recommended Posts