Re: Re: Linking stuff
| From: | Philip Thompson | Date: | Tue, 08 Jul 2008 20:56:37 +0000 |
| Subject: | Re: Re: Linking stuff | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-276465@lists.php.net to get a copy of this message | ||
On Jul 8, 2008, at 3:38 PM, Shawn McKenzie wrote:
Philip Thompson wrote:Ok, I figured out one solution. My brain finished farting. Here's what I came up with: <?php $center_ids = explode(",", $_POST["list"]); $count = count ($center_ids); $list = array(); for ($i=0; $i<$count; $i++) {Hi all. I think I might be having a brain-fart afternoon, but I can't think of how to accomplish this. I want these "centers" to be linked to 1 another. If center A links to B and C, I want B to be linked to A and C, and C to A and B. So... it should look something like this: center linkWell, it depends upon what you want to do with these. You'll have them in a db, so it's easy to get them out as an array. What's the problem? -ShawnA B A C B A B C C A C B These results will be stored in a database and each of the records is unique. To slightly simplify things (hopefully!), I can just store each of the centers in an array, like so: array(A,B,C,D). I figure I'll have to loop through the array (several times?) and do comparisons with each other one. Basically, I don't want to over-complicate this for myself. Any guiding light would be appreciated on how to link all of these!Thanks ~Philip
for ($j=0; $j<$count; $j++) {
if ($j != $i && !in_array($center_ids[$j], $list[$center_ids[$i]])) {
$list[$center_ids[$i]][] = $center_ids[$j];
}
}
}
foreach ($list as $cid1 => $array) {
foreach ($array as $cid2) {
$db->query("INSERT INTO center_link (center_id, link_center_id) VALUES ('$cid1', '$cid2')");
}
}
?>
The resulting array for $list (if centers 1, 2 and 3 are selected) is:
Array
(
[1] => Array
(
[0] => 2
[1] => 3
)
[2] => Array
(
[0] => 1
[1] => 3
)
[3] => Array
(
[0] => 1
[1] => 2
)
)
If there's a cleaner/better way, feel free to set me straight. ;)
Thanks for your input, guys.
~Phil