Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Modificare record db

  1. #1

    Modificare record db

    Ciao a tutti ho creato un piccolo CMS con la possibilità di creare della tabelle e dei campi a piacimento per avere una sorta db.

    Ora devo applicare la modifica a un record ma riscontro qualche problema:
    - il problema più grosso è quello di non conoscere i campi inseriti dal cliente quindi rendere il codice più dinamico possibile
    - vi posto il codice utilizzato ma che crea qualche problema
    Codice PHP:
    $sql_campi "DESCRIBE $nameTable "
    $rs_campi mysql_query($sql_campi) or die(mysql_error());  
    $arrCampi = array();
    while(
    $row mysql_fetch_array($rs_campi)){
          
    $arrCampi[] = $row['Field']; // nome dei campi inseriti dal cliente
    }
    $count count($arrCampi);
    // faccio partire l'id da 2 per escludere 2 campi che non mi servono nella modifica e che vengono creati da me
    for($i=2;$i<$count;$i++){
        for(
    $x=0;$x<$count;$x++){
    // $field viene recuperato da un form e troveremo tutti i valori assegnati il problema più grosso è la virgola come faccio a togliere la virgolo nell'ultima voce poi dovrebbe funzionare tutto

         
    if($x==($count-1)){$virg ="";}else{$virg =",";}        
        
    $sqlQuery ="UPDATE $nameTable SET ".$arrCampi[$i]." = '".$Field[$x]."' $virg WHERE id=$idRecord ";
        echo 
    "$sqlQuery";
        
    $rsQuery mysql_query($sqlQuery) or die(mysql_error()); 
    Grazie spero di essere stato abbastanza chiaro

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    io nn ho ben capito... poi mi sembra che ci sia un ciclo per generare una query di update in maniera incrementale, ma in realtà genera tanti "UPDATE"... forse è quello l'errore... puoi stampare un esempio dell'output generato (IN BREVE) e indicare quale sarebbe la riga "sbagliata"? in particolare quel tuo if($x==($count-1)){$virg ="";}else{$virg =",";} mi sembra strano... infatti quando $x!=$count-1, $virg diventa "," e viene aggiunta una "," nella query in una posizione in cui non dovrebbe mai esserci...

  3. #3
    infatti mi sono appena corto che sto usando un ciclo for di troppo però io devo fare girare due array e uno devi partire con id 2 e l'altro 0 come posso fare??
    e come posso risolvere il problema della virgola??

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mah... se devi solo scorrere due vettori con uno scarto nell'indice basta un semplice for tipo

    Codice PHP:
    for ($i=2$x=0$i<$count && x<$count$i++, $x++){  ... 
    per la virgola... basta non metterla dove non ti serve...

  5. #5
    grazie per il for non mi ricordavo si potesse fare!!

    E grazie per l'aiuto sono riuscito a completare questa sezione grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    a presto, 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.