Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    da array associativo a query

    ciao a tutti,
    ho un array associativo del tipo:

    codice:
    $array = array ( 'nome' => 'Pluto', 'cognome' => 'Plutonio', 'lavoro' => 'grafico' );
    e da questo vorrei creare una query di tipo insert. Sapete come fare?

    grazie mille!

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Codice PHP:
    $query="INSERT INTO tabella (nome,cognome,lavoro) VALUES ('".$array['nome']."','".$array['cognome']."','".$array['lavoro']."')"

  3. #3
    e ma siccome l'array è chilometrico volevo fare un estrazione automatica, senza riscrivere tutti i campi... potrei fare un ciclo diviso da virgole, ma poi sull'ultimo estratto avrei una virgola in più... che dici?
    grazie!

  4. #4
    Codice PHP:
    $fields implode(','array_keys($array));
    $values implode("','"$array);

    $sql "INSERT INTO table ($fields) VALUES ('$values')"

  5. #5
    WOWWWW!!!
    grazie mille!

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    i campi della tabella sono tutti string???
    puioi usare la funzione array_keys

    Codice PHP:
    $chiavi=array_keys($array);
    $name="";
    $values="";
    foreach (
    $chiavi as $chiave)
    {
         if(
    $name=="")
         {
             
    $name="(".$chiave;
             
    $values="('".$array[$chiave]."'";
         }
         else
         {
             
    $name.=",".$chiave;
             
    $values=",'".$array[$chiave]."'";
         }
    }
    $name.=")";
    $values.=")";
    $query="INSERT INTO tabella ".$name." VALUES ".$values
    è da testare
    se ci sono campi int bisogna togliere le virgolette nel values
    ciao ciao

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    ops ho postato dopo molto meglio quello sopra
    credo rimanga il problema dei campi non string

  8. #8
    bstefano79 grazie mille lo stesso, sei stato gentilissimo!!

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.