Visualizzazione dei risultati da 1 a 8 su 8

Discussione: inserire dati in mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    5

    inserire dati in mysql

    Innanzitutto saluto tutti e mi presento.
    Scrivo script php e Mysql "per obby"ma per unire al dilettevole l'utile cerco di costruirmi applicativi web based utili al mio lavoro.

    Ho cercato di costruire query organizzati in array per inserire dati in una tabella MySQL.
    Non ci riesco e non trovo documentazione appropriata, qualcuno mi può aiutare.

    Il massimo che sono riuscito a concepire è il segunete codice:

    $array1 /*primo array*/
    $array2 /*secondo array*/

    /* ciclo per inserire tuti i valori dell'$array1 nella tabella*/
    foreach($array1 as $key=> $value)
    {
    $sql= "INSERT INTO nome_tab (campo1)
    VALUES('$value')";
    mysql_query($sql)
    or die("Query non valida: " . mysql_error());
    }

    /* ciclo per inserire tuti i valori dell'$array2 nella tabella*/
    foreach($array2 as $key=> $value)
    {
    $sql= "INSERT INTO nome_tab (campo2)
    VALUES('$value')";
    mysql_query($sql)
    or die("Query non valida: " . mysql_error());
    }

    N.B. i dati dei due array dovrebbero essere inseriti nelle medesime righe della tabella ( cosa che come si può inferire non avviene con il mio stupido codice).
    Cioè: il primo valore del primo array sul primo rigo e così via; naturalmente il numero di valori dei due array sono uguali

  2. #2
    ogni volta che esegui quel codice viene scritta una riga nuova perchè fai un'INSERT (e non un UPDATE). Per quanto riguarda gli update devi fornire (se non le hanno già) le tue tabelle di una chiave primaria (o di un indice, o qualcosa che serva ad identificare in modo univoco una riga).
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    5
    Si, grazie ma
    ho bisogno di inserire i valori dei due array nella medeisma tabella e nelle medesime righe;
    non so se riesco a spiegarmi... i due array si dovrebbero comportare come fosse un array solo, per poter ciclare i valori nei rispettivi campi e all'interno di varie righe.
    Forse ho sbagliato tutto l'approccio?

    Facendo un UPDATE invece che un INSERT come faccio a recuparare la chiave primaria corrispettiva?

  4. #4
    allora ti faccio un esempio che poi tu puoi adattare al tuo script:

    ho una tabella di nomi e numeri di telefono, dove ogni riga è composta da:

    ID (chiave primaria) NOME TELEFONO

    con due query diverse voglio prima inserire un nuovo utente a quelli già esistenti, quindi aggiungergli il numero di telefono.

    Query 1\
    Codice PHP:
    $query1 mysql_query("INSERT INTO nometabella (NOME) VALUES ('Pierugo')"); 
    Perfetto, ora mi serve recuperare l'id che è stato assegnato a Pierugo durante l'inserimento in tabella:

    Codice PHP:
    $id mysql_insert_id($query1); //Occhio che il campo ID della tabella deve essere per forza un AUTO-INCREMENT!!! 
    Quindi passo a fare l'update:
    Codice PHP:
    mysql_query("UPDATE nometabella SET TELEFONO = 899123456 WHERE ID = $id"); 
    Ora non sono stato attento agli apici e a tutto il resto, quando la riscrivi occhio alla sintassi SQL e a tutto il resto... =) ciaooo
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    5
    La soluzione che mi proponi mi pare interessante ma non so se riesco ad adattarla al mio problema perchè nel mio caso inserisco un numero di righe "indeterminabile a priori"; a determinarlo è l'utente dell'applicativo. Quindi come posso recuperare tutte e solo quelle chiavi primarie? Non mi serve solo l'ultima chiave infatti l' inserimento è multiplo.
    Intuisco che c'è un difetto logico prima che di scrittura di codice, ma non riesco a beccarlo!



  6. #6

    Re: inserire dati in mysql

    Se sei sicuro che i due array abbiano lo stesso numero di elementi è molto semplice:

    Codice PHP:
    $array1 /*primo array*/
    $array2 /*secondo array*/

    /* ciclo per inserire tuti i valori dell'$array1 nella tabella*/
    for($index=0;$index<count($array1);$index++)
    {
    $sql"INSERT INTO nome_tab (campo1,campo_2)
    VALUES('"
    .$array1[$index]."','".$array2[$index]."')";
    mysql_query($sql)
    or die(
    "Query non valida: " mysql_error());
      } 
    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    5
    Perfetto, grazie!

    alla prossima

    "La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché".
    Albert Einstein

    ma qualche volta funziona

  8. #8
    Di nulla, non era difficile!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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.