Jump to content

make array question


drunknbass

Recommended Posts

i have text thats inputeed in the database in 1 field and is formatted with a ; to seperate values
i 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 this

small
medium
large

and 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 ;
Link to comment
Share on other sites

[!--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">&nbsp;</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) . '&nbsp;&nbsp;<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>&nbsp;&nbsp;' . 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)?>
         &nbsp;&nbsp;
     <?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]
Link to comment
Share on other sites

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]
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.