Visualizzazione dei risultati da 1 a 8 su 8

Discussione: aiuto query update

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    aiuto query update

    alve, come si fa in un colpo solo a prendere due campi da una tabella (per esempio con 80 righe) e uploadare il valore su un'altra tabella in coincidenza del campo chiave (per esempio con 800 righe).


    Grazie mille ciao.

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    esempio per un record.

    $select = "select campo1, campo2 from tabella where id='1'";
    $quer = mysql_query($select);
    $result = mysql_fetch_array($query);

    $update = "update tabella set campo1='".$result['campo1']."', campo2='".$result['campo2']."'";
    mysql_query($update) where id = '$result['id_tabella_select']';

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    ho spiegato male...

    Scusa, ci siamo quasi ma mi sono spiegato male...
    Su una tabella ho degli url relativi a delle foto, ok?
    Su un'altra tabella ho i campi relativi ai vari oggetti (con molte più righe).
    Devo, in un colpo solo, aggiornare il campo foto della tabella oggetti con l'eventuale campo url della tabella fotografie...
    Il problema è che a volte la foto non c'è quindi sono due tabelle con righe diverse. L'upoload avviene sulla base del campo chiave codice...
    Quindi non va bene where id=...
    Considerando che si tratta di un db molto popolato mi serve una cosa efficiente...


    Ciao grazie mille.

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    semplice. fai la select sulla prima tabella e prendi i campi codice (se univoco in entrambe e uguale)al posto dell'id e metti la url $result['url'] tramite l'upload nel campo dove va messa no?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    così?

    $select = "select titolo_immagini, codice_immagini, urlfoto, zoom_immagini, identificativo from immagini";
    $query = mysql_query($select);
    $result = mysql_fetch_array($query);

    $update = "update oggetti set immagine='".$result['urlfoto']."', zoom_immagini='".$result['zoom_immagini']."'";
    mysql_query($update) where iden = '$result['identificativo']';


    Solo che scusa, l'array non è tipo:

    ...
    [0]= url...
    [1]=url...
    [2]=url...
    ...

    non ci vorrebbe un foreach elemento dell'array, controlla tramite l'identificativo che sia presente nella tabella oggetti, se sì allora sovrascrivi il campo foto con quello dell'url preso?

    sto sql non tanto mi piace...

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357

    Re: così?

    Originariamente inviato da gio-mx
    $select = "select titolo_immagini, codice_immagini, urlfoto, zoom_immagini, identificativo from immagini";
    $query = mysql_query($select);
    $result = mysql_fetch_array($query);

    $update = "update oggetti set immagine='".$result['urlfoto']."', zoom_immagini='".$result['zoom_immagini']."'";
    mysql_query($update) where iden = '$result['identificativo']';


    Solo che scusa, l'array non è tipo:

    ...
    [0]= url...
    [1]=url...
    [2]=url...
    ...


    non ci vorrebbe un foreach elemento dell'array, controlla tramite l'identificativo che sia presente nella tabella oggetti, se sì allora sovrascrivi il campo foto con quello dell'url preso?

    sto sql non tanto mi piace...
    Si infatti il mio era un esempio per un solo record.
    La quuery cosi'.
    $update = "update oggetti set immagine='".$result['urlfoto']."', zoom_immagini='".$result['zoom_immagini']."' where iden = '".$result['identificativo']."'";
    mysql_query($update);

    per il ciclo basta che metti prima del fetch_array della select :
    $i=0;
    while($result= mysql_fetch_array($query)){
    $i++;
    e qui il resto delle operazioni..
    ovviamente questo per l'update di tutte le righe
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    855

    impiega troppo tempo...

    Ciao, va ma ci mette troppo tempo. Calcola che stiamo parlando di 30000 record e un for 30000 volte...
    Ma una cosa del genere?
    Però non va...

    $update="UPDATE oggetti, fotografie SET foto= urlfoto where iden= identificativo";
    mysql_db_query ("db",$update,$db);

    non dovrebbe fare tutto in una botta sola? però non fa un cavolo, invece...

  8. #8
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357

    Re: impiega troppo tempo...

    Originariamente inviato da gio-mx
    Ciao, va ma ci mette troppo tempo. Calcola che stiamo parlando di 30000 record e un for 30000 volte...
    Ma una cosa del genere?
    Però non va...

    $update="UPDATE oggetti, fotografie SET foto= urlfoto where iden= identificativo";
    mysql_db_query ("db",$update,$db);

    non dovrebbe fare tutto in una botta sola? però non fa un cavolo, invece...
    fai update di una tabella per volta.
    e poi: cos'e' set foto= urlfoto?? se intendi il dato che sta nella tabella col nome urlfoto lo devi scrivere $result['urlfoto']

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.