Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: Insert Into

  1. #11
    un'altra cosa...

    in che modo potrei impostare il rilevamento di un campo duplicato... se per esempio il codice prodotto è gia stato inserito?

    If....

  2. #12
    Originariamente inviato da lory2
    Tutto fatto, ok ora FUNZIONA!!!

    una domanda:

    Posso inserire anche i valori di una parte di campi o devono essere comunque tutti presenti nella query?
    devono essere elencati nel modo in cui sono presenti nella tabella?
    La query INSERT la puoi fare in tre modi.

    senza segnare alcun campo. In questo caso i valori dei campi devono essere TUTTI presenti (anche se vuoti o null) e nell'ordine che si presentano nella tabella.

    assegnando solo i campi e valori interessati. Puoi mettere qualsiasi ordine i campi e ovviamente con la stessa logica i valori.

    assegnando campo = valore. Questa e' una eccezione di mysql. Puoi mettere i campi=valori parzialmente e in qualsiasi ordine.

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

  3. #13
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    se codice prodotto è la chiave della tabella te lo dice lui che non puoi inserirlo.
    se non lo è devi fare una select sulla tabella per verificare che non esista
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #14
    Originariamente inviato da lory2
    un'altra cosa...

    in che modo potrei impostare il rilevamento di un campo duplicato... se per esempio il codice prodotto è gia stato inserito?

    If....
    Anche qui puoi usare diversi metodi. Usare un indice UNIQUE che pero' ti torna un errore che dovra' essere gestito.

    insert into ..... ON DUPLICATE KEY UPDATE ... invece dell'insert ti fara' un update

    replace into .... se trova il campo id / unique esistente cancella il record vecchio e scrive il nuovo ma "cambiando l'id" e se devi essere relazionato ad altra tabella questo dovra' essere gestito.

    il piu' banale e' una select count(*) ... where campo = $codice.

    se rende 1 esiste, 0 non esiste, > 1 ne hai piu' di uno.

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

  5. #15
    Anche qui puoi usare diversi metodi. Usare un indice UNIQUE che pero' ti torna un errore che dovra' essere gestito.
    infatti nella tabella ho usato questo parametro...dovrei perciò gestire questo errore...
    Posso in qualche modo servirmi della funzione
    Codice PHP:
    function errore_server() 

    echo 
    "
    [b]Il database sembra 
           non rispondere...[/b]
    MySql 
           dice:
    <font color=red>"

    echo 
    mysql_error(); 
    echo 
    "</font>
    pregasi 
    <a href=\"mailto:lory22@alchimiaweb.net\"> 
    segnalare</a> il problema"


    ma non so come dirgli che se l'errore è Duplicate entry '789789' for key 'CodiceProdotto' deve avvisare con un messaggio tipo: attenzione, il codice è gia stato inserito...

  6. #16
    Originariamente inviato da lory2
    infatti nella tabella ho usato questo parametro...dovrei perciò gestire questo errore...
    Posso in qualche modo servirmi della funzione
    Codice PHP:
    function errore_server() 

    echo 
    "
    [b]Il database sembra 
           non rispondere...[/b]
    MySql 
           dice:
    <font color=red>"

    echo 
    mysql_error(); 
    echo 
    "</font>
    pregasi 
    <a href=\"mailto:lory22@alchimiaweb.net\"> 
    segnalare</a> il problema"


    ma non so come dirgli che se l'errore è Duplicate entry '789789' for key 'CodiceProdotto' deve avvisare con un messaggio tipo: attenzione, il codice è gia stato inserito...
    visto che ti piacciono le funzioncine per queste routine fanne una che controlli "a monte" che non ci sia gia' il valore inserito. Ognuno la pensa come vuole ma personalmente penso che se "qualcosa" mi ritorna un errore e' meglio gestirlo a priori prevenendo l'errore stesso.

    fai:

    funzione controlla($codice)
    select count(*) from tabella where codice = $codice
    mysql_query
    $row = mysql_fetch_rows
    if $row == 0 return false
    else { $pippo = "siamo addolorati ma il codice $codice e' gia' presente ";
    return $pippo }

    if(controlla == false) insert
    else echo $pippo

    puoi farlo in mille modi diversi ma la sostanza e' questa. UNIQUE fara' la sua funzione se qualcuno cerchera' di insere un codice doppione non da php oppure con altri mezzi non controllati da te.

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

  7. #17
    ok, provo subito.
    Grazie a tutti
    Laura

  8. #18
    se posso, un'ultima cosa, visto che stiamo parlando id query di accodamento, come posso accodare con un solo inserisci il risultato di questa query:

    Codice PHP:
    $query_files_recordset "SELECT prodotti.IdProdotto, prodotti.CodiceProdotto,
     prodotti.NomeProdotto, prodotti.PrezzoProdotto, prodotti.CategoriaProdotto,
     prodotti.Provincia, prodotti.Provincia1, prodotti.Provincia2, prodotti.Provincia3, 
    prodotti.Provincia4, prodotti.Provincia5, quantita.Quantita

    FROM prodotti, quantita WHERE IdProdotto = 
    $IdProdotto"

    che ottiene questo risultato a video:


    è possibile, una volta inseriti i valori nelle province inserire tutto in una tabella che contiene tutti i campi presenti nella select?

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