drunknbass Posted May 6, 2006 Share Posted May 6, 2006 i have text thats inputeed in the database in 1 field and is formatted with a ; to seperate valuesi already pull the value out of the database, but i want to make an array out of it for each value because im trying to populate a table.also i noticed with xcart theres a textbox you can type attributes in and you just do it like thissmallmediumlargeand then submit it. and the code that submits it puts it all into a database field and seperates it with a ;i kinda wanna do that too, cause when i insert my data in the text area for what im doing i manually insert a ; Quote Link to comment Share on other sites More sharing options...
Barand Posted May 6, 2006 Share Posted May 6, 2006 See[a href=\"http://www.php.net/explode\" target=\"_blank\"]http://www.php.net/explode[/a][a href=\"http://www.php.net/join\" target=\"_blank\"]http://www.php.net/join[/a] Quote Link to comment Share on other sites More sharing options...
drunknbass Posted May 6, 2006 Author Share Posted May 6, 2006 [!--quoteo(post=371786:date=May 6 2006, 01:28 AM:name=Barand)--][div class=\'quotetop\']QUOTE(Barand @ May 6 2006, 01:28 AM) [snapback]371786[/snapback][/div][div class=\'quotemain\'][!--quotec--]See[a href=\"http://www.php.net/explode\" target=\"_blank\"]http://www.php.net/explode[/a][a href=\"http://www.php.net/join\" target=\"_blank\"]http://www.php.net/join[/a][/quote]awesome.. i got it to pull data and format it now.. but now im having a hard time with the implode fuction. i have to add it to the sql query when it reads and writes to the database and im having a hard time.. i have the xcart code where every line has the implode in the query like this.[code]db_query("DELETE FROM $sql_tbl[class_options] WHERE optionid IN ('".implode("','", array_keys($to_delete))."')");[/code]but i do not know how to incorperate it into my queries.incase someone wants to help here is my current code id like the functionaly of the implode[code]<?php/* $Id: product_extra_field.php,v 2.0 2004/11/09 22:50:52 ChBu Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License * * v2.0: added languages support*/require('includes/application_top.php');$action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');// Has "Remove" button been pressed?if (isset($HTTP_POST_VARS['remove_x']) || isset($HTTP_POST_VARS['remove_y'])) $action='remove';if (tep_not_null($action)) { switch ($action) { case 'setflag': $sql_data_array = array('products_extra_fields_status' => tep_db_prepare_input($HTTP_GET_VARS['flag'])); tep_db_perform(TABLE_PRODUCTS_EXTRA_FIELDS, $sql_data_array, 'update', 'products_extra_fields_id=' . $HTTP_GET_VARS['id']); tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); break; case 'add': $sql_data_array = array('products_extra_fields_name' => tep_db_prepare_input($HTTP_POST_VARS['field']['name']), 'languages_id' => tep_db_prepare_input ($HTTP_POST_VARS['field']['language']), 'products_extra_fields_order' => tep_db_prepare_input($HTTP_POST_VARS['field']['order'])); tep_db_perform(TABLE_PRODUCTS_EXTRA_FIELDS, $sql_data_array, 'insert'); tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); break; case 'update': foreach ($HTTP_POST_VARS['field'] as $key=>$val) { $sql_data_array = array('products_extra_fields_name' => tep_db_prepare_input($val['name']), 'languages_id' => tep_db_prepare_input($val['language']), 'products_extra_fields_order' => tep_db_prepare_input($val['order'])); tep_db_perform(TABLE_PRODUCTS_EXTRA_FIELDS, $sql_data_array, 'update', 'products_extra_fields_id=' . $key); } tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); break; case 'remove': //print_r($HTTP_POST_VARS['mark']); if ($HTTP_POST_VARS['mark']) { foreach ($HTTP_POST_VARS['mark'] as $key=>$val) { tep_db_query("DELETE FROM " . TABLE_PRODUCTS_EXTRA_FIELDS . " WHERE products_extra_fields_id=" . tep_db_input($key)); tep_db_query("DELETE FROM " . TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS . " WHERE products_extra_fields_id=" . tep_db_input($key)); } tep_redirect(tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS)); } break; }}// Put languages information into an array for drop-down boxes $languages=tep_get_languages(); $values[0]=array ('id' =>'0', 'text' => TEXT_ALL_LANGUAGES); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $values[$i+1]=array ('id' =>$languages[$i]['id'], 'text' =>$languages[$i]['name']); } ?><!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"><html <?php echo HTML_PARAMS; ?>><head><meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"><title><?php echo TITLE; ?></title><link rel="stylesheet" type="text/css" href="includes/stylesheet.css"><script language="javascript" src="includes/general.js"></script></head><body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onLoad="SetFocus();"><!-- header //--><?php require(DIR_WS_INCLUDES . 'header.php'); ?><!-- header_eof //--><!-- body //--><table border="0" width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"> <table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft"><!-- left_navigation //--><?php require(DIR_WS_INCLUDES . 'column_left.php'); ?><!-- left_navigation_eof //--> </table> </td><!-- body_text //--> <td width="100%" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="100%"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> </tr> </table> </td> </tr> <tr> <td width="100%"> <!-- <div style="font-family: verdana; font-weight: bold; font-size: 17px; margin-bottom: 8px; color: #727272;"> <? echo SUBHEADING_TITLE; ?> </div> --> <br /> <? echo tep_draw_form("add_field", FILENAME_PRODUCTS_EXTRA_FIELDS, 'action=add', 'post'); ?> <table border="0" width="400" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIELDS; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_ORDER; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_LANGUAGE; ?></td> </tr> <tr> <td class="dataTableContent"> <? echo tep_draw_input_field('field[name]', $field['name'], 'size=30', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <? echo tep_draw_input_field('field[order]', $field['order'], 'size=5', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <? echo tep_draw_pull_down_menu('field[language]', $values, '0', '');?> </td> <td class="dataTableHeadingContent" align="right"> <?php echo tep_image_submit('button_add_field.gif',IMAGE_ADD_FIELD)?> </td> </tr> </form> </table> <hr /> <br> <? echo tep_draw_form('extra_fields', FILENAME_PRODUCTS_EXTRA_FIELDS,'action=update','post'); ?> <? echo $action_message; ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent" width="20"> </td> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIELDS; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_ORDER; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_LANGUAGE; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_STATUS; ?></td> </tr><?$products_extra_fields_query = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_EXTRA_FIELDS . " ORDER BY products_extra_fields_order");while ($extra_fields = tep_db_fetch_array($products_extra_fields_query)) {?> <tr> <td width="20"> <? echo tep_draw_checkbox_field('mark['.$extra_fields['products_extra_fields_id'].']', 1) ?> </td> <td class="dataTableContent"> <? echo tep_draw_input_field('field['.$extra_fields['products_extra_fields_id'].'][name]', $extra_fields['products_extra_fields_name'], 'size=30', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <? echo tep_draw_input_field('field['.$extra_fields['products_extra_fields_id'].'][order]', $extra_fields['products_extra_fields_order'], 'size=5', false, 'text', true);?> </td> <td class="dataTableContent" align="center"> <? echo tep_draw_pull_down_menu('field['.$extra_fields['products_extra_fields_id'].'][language]', $values, $extra_fields['languages_id'], ''); ?> </td> <td class="dataTableContent" align="center"> <?php if ($extra_fields['products_extra_fields_status'] == '1') { echo tep_image(DIR_WS_IMAGES . 'icon_status_green.gif', IMAGE_ICON_STATUS_GREEN, 10, 10) . ' <a href="' . tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS, 'action=setflag&flag=0&id=' . $extra_fields['products_extra_fields_id'], 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_red_light.gif', IMAGE_ICON_STATUS_RED_LIGHT, 10, 10) . '</a>'; } else { echo '<a href="' . tep_href_link(FILENAME_PRODUCTS_EXTRA_FIELDS, 'action=setflag&flag=1&id=' . $extra_fields['products_extra_fields_id'], 'NONSSL') . '">' . tep_image(DIR_WS_IMAGES . 'icon_status_green_light.gif', IMAGE_ICON_STATUS_GREEN_LIGHT, 10, 10) . '</a> ' . tep_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10); } ?> </td> </tr><? } ?> <tr> <td colspan="4"> <?php echo tep_image_submit('button_update_fields.gif',IMAGE_UPDATE_FIELDS)?> <?php echo tep_image_submit('button_remove_fields.gif',IMAGE_REMOVE_FIELDS,'name="remove"')?> </td> </tr> </form> </table> </td> </tr> </table> </td> <!-- body_text_eof //--> </tr></table><!-- body_eof //--><!-- footer //--><?php require(DIR_WS_INCLUDES . 'footer.php'); ?><!-- footer_eof //--></body></html><?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>[/code] Quote Link to comment Share on other sites More sharing options...
Barand Posted May 7, 2006 Share Posted May 7, 2006 Suppose you start with a string value like this (which could be the value pulled from your db)[code]$id_str = "1,19,37,42";[/code]and these are the id's to be deleted from db table[code] $arr = explode(',' , $id_str); $id_str = join ("','", $arr); // put values in quotes $query = "DELETE FROM mytablename WHERE id IN ('$id_str')"; echo $query;[/code]--->[code]DELETE FROM mytablename WHERE id IN ('1','19','37','42')[/code] Quote Link to comment Share on other sites More sharing options...
drunknbass Posted May 9, 2006 Author Share Posted May 9, 2006 yea thats pretty simple. i thougt i had to add the explode implode int he query itself like the code i posted..that should work alot easier. thanks. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.