Visualizzazione dei risultati da 1 a 9 su 9

Discussione: modificare più record

  1. #1

    modificare più record

    ciao a tutti,
    con un ciclo while estraggo i record dal db,
    vorrei fare in modo che l'admin li possa modificare tutti in una volta e non un record alla volta come si fa di solito.
    Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Dipende cosa intendi....fai un esempio pratico. Ti serve una cosa del tipo: prendi i dati di un campo, li estrai e poi tutti questi se sono x devono diventare y??

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    una cosa tipo phpmyadmin quando selezioni + record?
    Puoi gestirtela in una maniera simile

    dal ciclo estrai ogni singolo record
    codice:
    Record 1
    campo1<input type="text" name="campo1[]" value="">
    campo2<input type="text" name="campo2[]" value="">
    
    
    Record 2
    campo1<input type="text" name="campo1[]" value="">
    campo2<input type="text" name="campo2[]" value="">
    e quando li estrarrai:
    Codice PHP:
    for($i=0$i<count($_POST['campo1']); $i++)
     echo 
    $_POST['campo1'][$i]; 
    potrebbe essere una soluzione...

    ciao

  4. #4
    allora estraggo i campi dal db:
    codice:
    while($myrow = mysql_fetch_array($result)){
       $campo1 = $myrow["campo1"];
       $campo2 = $myrow["campo2"];
       $campo3 = $myrow["campo3"];
    all'interno del ciclo creo il form:
    codice:
       echo '<form name="Edit" method="post" value="pag.php">
          <input type="text" name="campo1" value="'.$campo1.'">
          <input type="text" name="campo2" value="'.$campo2.'">
          <input type="text" name="campo3" value="'.$campo3.'">
          <input type="submit" name="Submit" value="modifica">
          </form>';
    }
    I dati sopra sono relativi ad ogni singolo record e while li cicla finchè non finiranno tutti i record richiesti dalla query.

    Forse hai ragione tu Ken84, ma ho provato ad adattare il tuo metodo e non ha funzionato.

    In cosa sbaglio?





  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova facendo con:

    codice:
    echo '<form name="Edit" method="post" value="pag.php">
          <input type="text" name="campo1[]" value="'.$campo1.'">
          <input type="text" name="campo2[]" value="'.$campo2.'">
          <input type="text" name="campo3[]" value="'.$campo3.'">
          <input type="submit" name="Submit" value="modifica">
          </form>';
    nella pagina in cui recuperi i dati se fai:
    print_r($_POST['campo1']),
    ad esempio, dovresti visualizzare tutti i valori inseriti per ogni singolo record nell'input 'campo1'...

    ciao

  6. #6
    si, singolarmente funziona è adattato al mio che non va...

    Una volta premuto il pulsante devo effettuare tante query per ogni record che ha subito modifica, per cui dovrei trovare il modo di numerare i campi, in modo da poter creare il ciclo

    for($i=0;$i<=$numrowupdate;$i++){
    $query "UPDATE table
    SET campo1=$campo1, campo2=$campo2, ...);
    }

    Dalla precedente query di selezione (ciclo while), avevo estratto il numero totale di record e l'avevo inserito come campo hidden nel form in modo da poter poi creare il ciclo per la successiva query di aggiornamento, ma non rieuscendo a numerare i record, mi aggiorna solo l'ultimo record che mostra while


  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    se fai così:
    Codice PHP:
    for($i=0$icount($_POST['campo1']); $i++)
    {
     
    $campo1 $_POST['campo1'][$i];
     
    $campo2 $_POST['campo2'][$i];
     ....

      
    $query "UPDATE table SET campo1='$campo1', campo2='$campo2', ...";
      echo 
    "Query n $i ".$query."
    "
    ;


    funziona?

    ciao

  8. #8
    si, ho fatto esattamente così, solo che nel ciclo al posto di count campo1...
    ho messo il numero totale di record estratti:

    Codice PHP:
    echo '<form name="Edit" method="post" value="pag.php">
          <input type="text" name="numrecord" value="'
    .$numrecord.'">
          <input type="text" name="campo1[]" value="'
    .$campo1.'">
          <input type="text" name="campo2[]" value="'
    .$campo2.'">
          <input type="text" name="campo3[]" value="'
    .$campo3.'">
          <input type="submit" name="Submit" value="modifica">
          </form>'
    ;

    for(
    $i=0;_$i<=_$_POST['numrecord'];_$i++) 

    _$campo1_=_$_POST['campo1'][$i]; 
    _$campo2_=_$_POST['campo2'][$i]; 
    _.... 

    __$query_"UPDATE_table
              _SET_campo1='
    $campo1',_campo2='$campo2', ..."

    funziona bene, volevo solo sapere se come procedimento è corretto.

    Grazie per l'aiuto.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    ah...ok,pardon, non avevo capito, cmq sì, il procedimento è corretto...


    ciao

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.