Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: copiare colonna

  1. #1

    copiare colonna

    Ciao,
    dovrei copiare il contenuto di una colonna1 in un'altra colonna2 ma ho qualche problema...
    Non è che se vi posto lo script gli date un occhio?

    <?

    $server = "xxx";
    $utente = "xxx";
    $password = "xxx";
    $database = "xxx";
    $db = mysql_connect($server,$utente,$password);
    if ($db == FALSE) die ("Errore durante la connessione al database: ".mysql_error());
    mysql_select_db($database,$db) or die ("Errore nella selezione del database: ".mysql_error());

    $tutto = "SELECT * FROM clienti";

    $query = mysql_query ($tutto,$db)
    or die ("Non riesco ad eseguire la richiesta $tutto");

    while ($valori = mysql_fetch_array ($query))
    {
    $id_cliente = $valori ["id_cliente"];
    $a1 = $valori ["localita"];

    echo "$id_cliente
    ";

    $gino = "UPDATE clienti SET 'scambio'='$a1' WHERE 'id_cliente' = '$id_cliente' LIMIT 1";
    $update= mysql_query ($gino,$db)
    or die ("Non riesco ad eseguire la richiesta $gino");


    }


    ?>

    thanx

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    Re: copiare colonna

    Originariamente inviato da tommyxxx
    Ciao,
    dovrei copiare il contenuto di una colonna1 in un'altra colonna2 ma ho qualche problema...
    Non è che se vi posto lo script gli date un occhio?

    <?

    $gino = "UPDATE clienti SET 'scambio'='$a1' WHERE 'id_cliente' = '$id_cliente' LIMIT 1";
    $update= mysql_query ($gino,$db)
    or die ("Non riesco ad eseguire la richiesta $gino");


    }


    ?>

    thanx
    Qual'è il problema che ti da?
    In ogni caso la query update ha troppi apici..
    $gino = "UPDATE clienti SET scambio='$a1' WHERE id_cliente= '$id_cliente' LIMIT 1";

    Sempre che $a1 e $id_cliente non siano numerici, se no devi togliere l'apice anche a quelli
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    L'errore è questo:

    Non riesco ad eseguire la richiesta UPDATE clienti SET 'scambio'=Tinto 1/A WHERE 'id_cliente' = 8 LIMIT 1

    id_cliente è sempre numerico

    ...mi da l'errore anche senza apici!

  4. #4
    codice:
    $gino = "UPDATE clienti SET scambio = '$a1' WHERE id_cliente = '$id_cliente' LIMIT 1"; 
    $update= mysql_query ($gino,$db) 
    or die (mysql_error() ." Non riesco ad eseguire la richiesta $gino");
    ma potresti fare tutto in un colpo solo..... senza SELECT

    UPDATE clienti SET scambio = localita



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ES:
    campi tabella: id | C1 | C2
    voglio copiare in C2 quello che c'è in C1


    $sql="SELECT C1 FROM tabella"; //Estraggo tutti valori da campo C1
    $query=mysql_query($sql);
    if(!$query){
    echo"Query non eseguita";
    }
    else{
    while($row=mysql_fetch_array($query))
    {
    $sql="UPDATE tabella SET (C2) VALUES ('$row[C1]') WHERE C1='$row[C1]"; //Aggiorno il campo C2 con i valori estratti da C1, praticamente valorizzo C2 con i valori estratti da C1 ovunque C1 sia uguale al valore estratto dalla prima SELECT

    $query=mysql_query($sql);
    if(!$query)
    {
    echo"I valori non sono stati copiati, Query non eseguita";
    }
    else
    {
    echo"I valori sono stati copiati in C2";
    }
    }
    }

    Prova così, fondamentalmente mi sembrava sbagliata la sintassi del tuo UPDATE.

    CIAO!

  6. #6
    Appunto....

    UPDATE tabella SET C2 = C1

    non serve fare il SELECT... se ci fossero condizioni nella SELECT allora si, perche' dovrebbe discriminare alcuni record, ma cosi' selzionando tutto e' proprio inutile.....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    ok,
    capisco tutto ma come mai mi restituisce comununque un errore di questo tipo:
    I valori non sono stati copiati, Query non eseguita
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in SPOSTAMENTO.php on line 17

    con il codice che ha postato pilone73 ???

  8. #8
    usa la segnalazione di errore di php....

    $query = mysql_query($gino,$db) or die (mysql_error());


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    ho inserito questo codice:

    $sql="SELECT localita FROM clienti"; //Estraggo tutti valori da campo C1
    $query=mysql_query($sql);
    if(!$query){
    echo"Query non eseguita";
    }
    else{
    while($row=mysql_fetch_array($query))
    {
    $sql= "UPDATE clienti SET scambio VALUES '$row[localita]' WHERE localita = '$row[localita]'"; //Aggiorno il campo C2 con i valori estratti da C1, praticamente valorizzo C2 con i valori estratti da C1 ovunque C1 sia uguale al valore estratto dalla prima SELECT

    $query=mysql_query($sql) or die (mysql_error());
    if(!$query)
    {
    echo"I valori non sono stati copiati, Query non eseguita";
    }
    else
    {
    echo"I valori sono stati copiati in C2";
    }
    }
    }

    e di tutta risposta mi arriva un:
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES 'Tinto 1/A' WHERE localita = 'Tinto 1/A'' at line 1


    Ho provato a mettere e a togliere apici dappertutto ma non ne vuole sapere!

  10. #10
    SET nomecampo='valore campo'

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.