Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Ciclo for

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627

    Ciclo for

    Ciao a tutti!
    ho bisogno di un vostro consiglio,
    dovrei svuotare tutti i campi di una colonna, la query che utilizzo è:

    $query = "UPDATE tabella SET expic8=" " ";

    il problema che ho più campi tutti con un nome sequenziale

    expic1,expic2,expic3,expic4,expic5, ecc...ecc..

    dovrei impostare un ciclo for che tramite una variabile che cambia (aumenta) mi esegue la query su tutti i campi.

    come posso fare??

    Graciess

  2. #2
    Codice PHP:

    $max_i 
    8;  //Il numero massimo di campi

    for ($i=1$i<$max_i$i++)
    {
       
    $query "UPDATE tabella SET expic$i=" " ";
       
    /* ... codice per eseguire la query ecc */

    ciao

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    quanti campi devi updatare? quanti record devi updatare?

  4. #4
    ma se li cancelli tutti non era meglio usare un delete? ehehheheh

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    ehehe..sono circa 240 campi per 120 prodotti, quindi 30.000 campi circa.

    Logicamente se potessi cancellarli o svuotarli sarebbe meglio ancora

  6. #6
    Utente di HTML.it L'avatar di Ceras
    Registrato dal
    Oct 2009
    Messaggi
    141
    Meglio evitare di fare più query quando se ne può fare una sola, per motivi di efficienza.
    La cosa che più si consiglia di fare in casi come questo è lavorare sulla stringa della query.

    Codice PHP:
    $query "UPDATE tabella SET expic1=''";
    for (
    $i=2$i<$max_i$i++)
        
    $query .= ", expic$i=''";

    /* ... codice per eseguire la query */ 
    In questo modo modifichi tutti i campi in una volta

    p.s. nota che ho utilizzato gli apici ' all'interno della stringa (che è racchiusa tra le virgolette " ), potevo anche usare \" invece di '.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    gracies a tutti!
    Ceras ho solo una piccola precisazione:

    il nome del campo non è " expic1 " ma "epic1_ts" come faccio ad gestirlo con il tuo esempio dove hai scritto:

    $query .= ", expic$i=''";

    graciess

  8. #8
    semplicemente
    epic$i_ts

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.