Jump to content

TWO Level Mapping!


gmark

Recommended Posts

Hi -

I've got a program to allow the user to upload a file and then select, for each column

of an existing table, the column from the new source table to insert.  However, what

I need to do is do the insert using the actual names, but show the user a drop-down

menu of the LABELS they've chosen for each of these real, target columns.  Is there

a "clean" or "tricky" way of doing this?  The code to do the inserts works by just reading

the translation table that has two columns --  source column fieldname and target column

(in the existing table) fieldnames (both real fieldnames, of course).

 

Here's what I've got:

 

<form action="index.php" method="post">

<input type="hidden" id="unique" name="unique" value="<?php echo $unique_nm; ?>" />

<input type="hidden" id="savetotable" name="savetotable" value="1" />

<?php foreach($LabelList as $c_name){ ?>

<div>

<div style="float: left; width: 300px;"; >

<?php echo $c_name; ?>

</div>

<div style="float: left; width: 400px;">

<select id="<?php echo $c_name; ?>" name="<?php echo $c_name; ?>">

<option value=""></option>

<?php foreach($SourceColumns as $h_name){ ?>

<option value="<?php echo trim($h_name); ?>">

<?php echo trim($h_name); ?>

</option>

<?php } ?>

</select>

</div>

<div style="clear: both;"></div>

</div>

<?php } ?>

<input type="submit" value="Save to Database" />

</form>

 

So, while I could load the data into the targetfile pretty easily using the

real target table column names, how can I present the user with a drop-down

menu of LABELS, but insert the data into the REAL target fields?

 

Here's the list of ACTUAL fields:

$output = array();

$gather = 'select FieldName from MapTable where User = UserID'

$this->call($gather);

foreach($this->data as $row){

$ActualFields[] = $row['COLUMN_NAME'];

}

return $ActualFields;

}

 

Here's the list of LABELS (phony field names):

$output = array();

$gather = 'select LabelName from MapTable where User = UserID'

$this->call($gather);

foreach($this->data as $row){

$LabelList[] = $row['COLUMN_NAME'];

}

return $LabelList;

}

 

The list of fields from the sourcefile the user is loading

are all actual, real names ($SourceColumns)

 

Link to comment
https://forums.phpfreaks.com/topic/228041-two-level-mapping/
Share on other sites

Archived

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

×
×
  • 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.