Jump to content

Archived

This topic is now archived and is closed to further replies.

drunknbass

make array question

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 ;

Share this post


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

Share this post


Link to post
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]

Share this post


Link to post
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]

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

×

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.