Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-08-2006, 18:04   #1
anonimizzato
 
Messaggi: n/a
[PHP] update multipli

Ciao a tutti,

ho un problema concettuale sugli update multipli.

Mettiamo che io abbia una tabella ("prodotti") a DB con tot campi, per il momento solo 3:

prodotto_id
prodotto_nome
prodotto_visibile.

il primo è ovviamente l'ID del prodotto il secondo il nome mentre il terzo è un FLAG (1/0) sulla visibilità o meno sul sito ("fittizio") del prodotto stesso che gestisco con un checkbox spuntato o meno.

Ho imparato come gestire gli update multipli creando i "name" dei vari campi come se fossero degli indici di un array.

Quando visualizzo i campi metto infatti.

<input type="text" name="prodotto_nome[<?php echo prodotto_id]" ?> value="" />

e

<input type="checkbox" name="prodotto_visibile[<?php echo prodotto_id]" ?> value="1" />

questo mi permette ovviamente di effettuare per ogni array, cioè per ogni tipologia di campo un ciclo che mi modifica i dati dopo un submit.

IL PUNTO:
Ogni array è però separato in un ciclo "foreach", è un metodo corretto oppure esiste una soluzione più elegante e più pratica che consenta di eseguire un unico grande ciclo?

Spero di essermi spiegato.

Di seguito riporto il codice PHP per gli update implementato sin ora.
Codice PHP:
if(isset($_POST["modifica"])){
    
    
        
// UPDATE VISIBILITA'
        
$sql = "update prodotti set prodotto_visibile = 0";
        
mysql_query($sql);
    
        if(
is_array($prodotto_visibile)){
        
           foreach(
$prodotto_visibile as $key => $visibile){
                                                   
                
$sql = "update prodotti set prodotto_visibile = 1 where prodotto_id = '".$key."'";
                
mysql_query($sql);
                    
           }
                                                
        } 
        
        
        
// UPDATE NOME
        
foreach($prodotto_nome as $key => $nome){
           
            if(
$nome != ""){                                        
               
$sql = "update prodotti set prodotto_nome = '".$nome."' where prodotto_id = '".$key."'";
               
mysql_query($sql);
            } 
                    
       }
        
    } 
  Rispondi citando il messaggio o parte di esso
Old 06-08-2006, 19:44   #2
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Non so se si possa, ma prova a mettere ogni campo come [nome_prodotto][id]...[prodotto_visibile][id] etc..
E poi indenti i due cicli foreach.
Ciaozz
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2006, 10:17   #3
anonimizzato
 
Messaggi: n/a
Oddio non ho capito benissimo, potresti mettere due righe di esempio?

Ciò vorrebbe comunque dire eseguire sempre delle query di update distinte giusto?

Non è possibile fare una query unica che setti subito i valori dei vari array in un unico ciclo?

Grazie per la risposta.
  Rispondi citando il messaggio o parte di esso
Old 07-08-2006, 10:25   #4
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Se hai modo allega le due pagine, oppure mandale per mail a [email protected] e te le modifico, spiegarlo a parole mi riesce un po' difficile...
Ciao
Alex
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2006, 10:46   #5
anonimizzato
 
Messaggi: n/a
Guarda avevo postato la stessa richiesta su html.it e mi hanno risposto con una soluzione adatta.

Praticamente faccio un matrice per i valori dei campi così recupero tutto in un unico ciclo foreach e stampo i valori leggendoli dagli ulteriori array annidati 'prodotto_nome' e 'prodotto_visibile'.

Codice PHP:
<input type="text" name="array[<?php echo prodotto_id?>]['prodotto_nome']" value="" />
<input type="text" name="array[<?php echo prodotto_id?>]['prodotto_visibile']" value="" />
Credo fosse la stessa cosa che mi avevi suggerito, comunque grazie.

Cmq tenetevi pronti perchè prima o poi torno.
  Rispondi citando il messaggio o parte di esso
Old 07-08-2006, 10:48   #6
anonimizzato
 
Messaggi: n/a
il PHP è questo:

Codice PHP:
if(isset($_POST["modifica"])){
    
    
                foreach(
$prodotto as $key => $valore){ 
                                                              
                        
$sql = "update prodotti set prodotto_nome = '".$valore['prodotto_nome']."', prodotto_visibile = '".$valore['prodotto_visibile']."' where prodotto_id = '".$key."'";
                        
mysql_query($sql);
                
                }                                                            
        
        
    } 
  Rispondi citando il messaggio o parte di esso
Old 07-08-2006, 11:05   #7
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Quote:
Originariamente inviato da Sgurbat
Guarda avevo postato la stessa richiesta su html.it e mi hanno risposto con una soluzione adatta.

Praticamente faccio un matrice per i valori dei campi così recupero tutto in un unico ciclo foreach e stampo i valori leggendoli dagli ulteriori array annidati 'prodotto_nome' e 'prodotto_visibile'.

Codice PHP:
<input type="text" name="array[<?php echo prodotto_id?>]['prodotto_nome']" value="" />
<input type="text" name="array[<?php echo prodotto_id?>]['prodotto_visibile']" value="" />
Credo fosse la stessa cosa che mi avevi suggerito, comunque grazie.

Cmq tenetevi pronti perchè prima o poi torno.
Come hai osaatoooo!!!! Si cmq era +o- quello che dicevo io.
Ciaozz
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
SpaceX vuole 40 miliardi per i chip Nvid...
Power Station portatile EcoFlow DELTA 2 ...
Full Self-Driving di Tesla, la Germania ...
Nobel per la Fisica 2026 a Francis Halze...
Niente lunotto, tre motori e un cofano i...
Fai fare tutto all'intelligenza artifici...
ASUS PRIME Radeon RX 9070 a 599,99€: pre...
Stop ai datacenter di Google in Finlandi...
Uncharted, Nolan North è pronto a...
Diritto all'oblio, il Tribunale di Milan...
Terre rare dagli scarichi: la ricerca su...
Satelliti a rischio scontro: ecco l'osse...
Il controller definitivo per il Cloud Ga...
Core 2000HX nel futuro di Intel? Raptor ...
MCP e agenti AI sono sicuri? La fiducia ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v