Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Insert Simultanei

  1. #1

    Insert Simultanei

    Ciao a tutti....
    mi trovo nella necessità di inviare (tramite php e mysql) un insert all'interno di una tabella.

    La tabella lavori in questione è la seguente:
    id oggetto iva prezzo
    1 mattoni 10 150
    2 cemento 20 1150
    3 lamiera 5 300

    come dicevo prima tramite un form ed una query insert inserisco di volta in volta un singolo record.
    Ora il punto cruciale è questo:inserire un singolo record è possibile ma se volessi inserire ad esempio due o più record diversi simultaneamente come dovrei fare?

    GRAZIE................
    Karbo del Monte

  2. #2
    Intendi questo?
    Codice PHP:
    <?php 

    // tua query mysql 

     
    $sql "INSERT INTO beautiful (name, age) 
    VALUES ('Helen', 24), ('Katrina', 21), ('Samia', 22), ('Hui Ling', 25), ('Yumie', 29)"
    ;

    mysql_query$sql$conn ); 

    ?>

  3. #3
    Grazie per la rapidità nella risposta!!

    Il codice che hai postato dovrebbe essere giusto... il nodo del problema è a monte cioè: il form che invia le variabili al file php che hai postato è così strutturato

    <form action="tuofile.php" method="post">
    Nome:
    <input name="nome" id="name" type="text" />
    Eta: <input name="eta" id="age" type="text" />

    <input name="login" id="login" value="Inserisci!" type="submit" />

    </form>

    la domanda è la seguente: se l'utente invece di un solo record volesse inserirne due o più in contemporanea? Devo prevedere due form nella stessa pagina?

    grazie..
    Karbo del Monte

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, chiaramente no, utilizza la dinamicità nativa del php e creati un certo numero di input text con un ciclo, e poi sarà l'utente a decidere se inserirne una sola o più di una...ma tutto nella stessa form

  5. #5
    Io mi sono perso

    se l'utente invece di un solo record volesse inserirne due o più in contemporanea? Devo prevedere due form nella stessa pagina?
    Intendi più di un nome? cioè.. jcsnake ha capito, io no!

    Lascio la palla a lui!

  6. #6
    Praticamente il problema nasce già nel form perchè se inserisco solo un record non ci sono problemi

    \\FORM.html

    <form action="inseriscipersonaggio.php" method="post">
    Nome:<input name="nome" id="nome" type="text" />
    eta:<input name="nome" id="age" type="text" />
    <input name="login" id="login" value="inserisci!" type="submit" />

    </form>

    ma se l'utente già sul form ha la necessità di aggiungere in simultanea due record e non uno solo come faccio?


    la pagina php che riceve

    \\inseriscipersonaggio.php

    <?php



    $sql = "INSERT INTO beautiful (name, age)
    VALUES ('Helen', 24), ('Katrina', 21), ('Samia', 22), ('Hui Ling', 25), ('Yumie', 29)";

    mysql_query( $sql, $conn );

    ?>


    secondo te la soluzione che riporto di sotto è migliore?

    <?php

    $name=$row['name'];
    $age=$row['age'];

    $sql = "INSERT INTO beautiful (name, age)
    VALUES ([$name],[$age])";

    mysql_query( $sql, $conn );

    ?>



    Ma per la dinamicità del file form come posso impostare un ciclo?

    grazieee...

  7. #7
    Quindi tu intendi: l'utente può inserire + di un personaggio!?

  8. #8
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    una cosa del genere


    form.php
    Codice PHP:

    <form action="inseriscipersonaggio.php" method="post">
    <?php
    for($i;$i<5;$i++){
    if(
    $i>1) echo "<input type='checkbox' name='scelta$i'>";
    echo 
    "Nome:<input name="nome$i" type="text" />
    eta:<input name="
    eta$i"  type="text" />
    "
    ;
    }
    ?>
    <input name="login" id="login" value="inserisci!" type="submit" />
    </form>
    Così ti troverai 5 righe di nome ed età, in cui nelle ultime 4 hai delle checkbox per far scegliere all'utente se inserirne ancora...

  9. #9
    Se posso suggerire una cosa un po' più dinamica io userei la fantastica caratteristica di php di gestire i campi del form come array!! Mi spiego:

    La pagina del form la puoi fare così:
    Codice PHP:
    <form action="inseriscipersonaggio.php" method="post">
        <?php
        
    for($i;$i<5;$i++){
            
    ?>
            <input type="checkbox" name="scelta[<?php echo $i ?>]">
            Nome: <input name="nome[<?php echo $i ?>]" type="text" />
            eta:<input name="eta[<?php echo $i ?>]"  type="text" />

            <?php
        
    }
        
    ?>
        <input type="submit" value="inserisci!" />
    </form>

  10. #10
    Poi nella pagina che riceve i dati fai:

    Codice PHP:

    if (isset($_POST['scelta']) && is_array($_POST['scelta'])) {
        
    $query "INSERT INTO beautiful (name, age) VALUES "
        
    foreach($_POST['scelta'] as $i => $v) {
            
    $query .= " ('".$_POST['nome'][$i]."', '".$_POST['eta'][$i]."'), ";
        }
        
    $query substr($query0, -2);
        
    mysql_query($query);

    Ovviamente questo è a titolo di esempio... devi fare tutti i controlli del caso
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

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.