Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di flavietta
    Registrato dal
    Jan 2008
    residenza
    Pisa
    Messaggi
    48

    estrarre tutti i record con campi uguali

    Salve.
    In un database ho due tabelle:

    Tabella 1
    TagTemporanee
    con i campi: CodiceTag, NomeTag, Foto, AutoreFoto;

    Tabella 2 (vuota)
    TagDefinitive
    con i campi: CodiceTag, NomeTag, Foto, AutoreFoto.

    Nella prima tabella ci possono essere dei record che hanno identico valore del campo Foto (perchè è un codice di riferimento ad un altro record di un'altra tabella).
    Ora, come faccio a selezionare tutti quei record che hanno lo stesso codice Foto, per copiarli nella seconda tabella (TagDefinitive), se non so a priori quanti ce ne saranno e in che posizione si troveranno?
    Riesco solo a fargli prendere il primo record che trova. Non so come dirgli che deve andare al secondo record che ha quello stesso campo Foto e non prendermi sempre il primo!

    Spero di aver reso chiaro il problema

  2. #2
    Supponendo di essere già connessi al database
    $dati = mysql_query("SELECT FROM tabella 1 WHERE foto = '$nomefoto'");
    while($array=mysql_fetch_array($dati)) {
    //inserisci tutti gli elementi che hanno il campo foto = a quello uguale a $nomefoto in un array
    $CodiceTag[] = $array[CodiceTag];
    $NomeTag[] = $array[NomeTag];
    $Foto[] = $array[Foto];
    $AutoreFoto[] = $array[AutoreFoto];
    }
    //successivamente conti quanti elementi hai inserito negli array (e inutile eseguire il codice successivo per tutti gli array perche la loro dimensione è uguale
    $numero = count($CodiceTag);

    //Ora "spari" l'array nella tabella2
    while ($i<$numero) {
    $dati=mysql_query("INSERT INTO tabella2 (CodiceTag, NomeTag, Foto, AutoreFoto) VALUES ('$CodiceTag[i]', '$NomeTag[i]', '$Foto[i]', '$AutoreFoto[i])
    $i++
    }
    Dimmi se ho capito bene

  3. #3
    ma se invece fai una tabella unica con

    CodiceTag, NomeTag, Foto, AutoreFoto

    e ci aggiungi Stato campo di tipo intero 0 = temporanea 1 = definitiva

    così facendo poi per rendere definitivi tutti i tag di una foto basterà fare un update del genere

    Codice PHP:
    UPDATE tabella 
    SET Stato 
    1
    WHERE Foto 
    'valore campo foto' 
    Ubuntu rulez!! :P

  4. #4
    Utente di HTML.it L'avatar di flavietta
    Registrato dal
    Jan 2008
    residenza
    Pisa
    Messaggi
    48
    Originariamente inviato da simotenax
    ma se invece fai una tabella unica con

    CodiceTag, NomeTag, Foto, AutoreFoto

    e ci aggiungi Stato campo di tipo intero 0 = temporanea 1 = definitiva

    così facendo poi per rendere definitivi tutti i tag di una foto basterà fare un update del genere

    Codice PHP:
    UPDATE tabella 
    SET Stato 
    1
    WHERE Foto 
    'valore campo foto' 
    Effettivamente era la cosa più semplice!
    Grazie!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.