www.webdeveloper.com
Results 1 to 7 of 7

Thread: insert multiple records in mysql using for loop

  1. #1
    Join Date
    Aug 2013
    Posts
    40

    insert multiple records in mysql using for loop

    Please help to understand how could i insert multiple records in mysql using for loop, let me explain the scenario

    I want insert multiple input type text fields, date ( 45 rows which i want to insert once the user click on the submit button)

    Variable name which i used

    $date= current date (value is assigned by the date function in php is same for all the row)
    $time1 => Textfield
    $initials1 => Textfield
    des1 => Textfield

    $date= current date (value is assigned by the date function in php is same for all the row)
    $time2 => Textfield
    $initials2 => Textfield
    des2 => Textfield

    .
    .
    .
    .
    .
    .
    .
    $date= current date (value is assigned by the date function in php is same for all the row)
    $time45 => Textfield
    $initials45 => Textfield
    des45 => Textfield


    I want to execute loop 45 times but i don't know how the number will increment for time,initials,des will change inside the loop.

    All the reply is appreciate.
    Thanks Alot in advance.

  2. #2
    Join Date
    Jul 2013
    Location
    Voorheesville NY USA
    Posts
    1,882
    Exactly what is "Textfield"? That will tell me how to answer you. Is it a POST field? Give me the code.

  3. #3
    Join Date
    Aug 2013
    Posts
    40
    yes correct its a POST field
    example

    $time1=$_POST['time1'];
    $initials= $_POST['initials1'];
    $des1=$_POST['des1'];

  4. #4
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    22,285
    You could probably make things easier by using array notation in your form:
    HTML Code:
    <input type='text' name='time[1]' />
    ...next one would then be...
    <input type='text' name='time[2]' />
    Then use the mysqli or PDO extension, making use of prepared statements and bound parameters.
    PHP Code:
    $pdo = new PDO('mysql:host=localhost;dbname=your_db_name'$dbUser$dbPass);
    $sql = <<<EOD
    INSERT INTO some_table (
        time_field,
        initials_field,
        des_field
    ) VALUES (
        :time,
        :initials,
        :des
    )
    EOD;
    $stmt $pdo->prepare($sql);
    foreach(
    $_POST['time'] as $key => $value) {
        
    $stmt->bindParam(':time'$value);
        
    $stmt->bindParam(':initials'$_POST['initials'][$key]);
        
    $stmt->bindParam(':des'$_POST['des'][$key]);
        
    $stmt->execute();

    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  5. #5
    Join Date
    Jul 2013
    Location
    Voorheesville NY USA
    Posts
    1,882
    Exactly what I was hoping to see, but alas, didn't.

    Yes - by using array notation you get an easy to use solution for your multiple inserts.

  6. #6
    Join Date
    Aug 2013
    Posts
    40
    Actually I tried the code which is mentioned below, but there is some syntax error in my insert query please help me to find it , also suggest me the code which is mentioned below will work or not.

    Code:
    $total_record = 45;
    			
    			//if the same day checklist is not exist, execute the insert commands.
    			else
    			{
    				$sql=mysql_query("INSERT INTO checklist (DATE,TIME,INITIALS,JOBNAME) VALUES
    				
    				for ($i = 1; $i <= $total_record; $i++) 
    				{
    					('$date','$time[i]','$initials[i]','$des[i]')") or die ("Database Connection Error" .mysql_error());
    				}

  7. #7
    Join Date
    Jul 2013
    Location
    Voorheesville NY USA
    Posts
    1,882
    It appears that you are trying to mix php code with your sql code. No can do.

    Looking back I see something that is wrong.

    Your html should look like:

    <input type='text' name='timefld[]'
    NOT
    <input type='text' name='timefld[1]'

    Each of your repeated lines for each named input should be:
    first item:
    name='timefld[]'
    name='timefld[]'
    ...
    ..
    and
    name='initials[]'
    name='initials[]'

    in each <input> tag

    From this input you can then loop thru the array and build a query statement and execute it over and over as NogDog tried to show you. You didn't do what he said.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.40871 seconds
  • Memory Usage 2,910KB
  • Queries Executed 15 (?)
More Information
Template Usage (35):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)bbcode_code
  • (1)bbcode_html
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (7)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (72):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates