| Joined: Dec 2002 Posts: 3,255 Likes: 3 UGN Elite | UGN Elite Joined: Dec 2002 Posts: 3,255 Likes: 3 | I want to perfect some of my scripts. To do this I need to minimize the number of times I hit the databases. Currentley for a drop down menu I do something like the following. <select name="somename">
$quer = mysql_query("SELECT * FROM Svc_mgr WHERE id = '$id'");
while($quer2 = mysql_fetch_array($quer)) {
echo "<option value=\"".quer2['id']."\">".$quer2['name']."</option>";
}
</select>
I should be able to make a single call to each table and draw all the infor mation I need and set it into a multi demesional array to call throughout each section of the script. For example Table1 is in database one. It has the following collums name(varcher(25)) - timestamp(varchar(20)) - id(int(11)) some examples of rows might be John Doe - 04/29/03 - 05:34:06 - 01 Jane Doe - 04/28/03 - 05:34:06 - 02 Jimmy Doe - 04/27/03 - 05:34:06 - 03 I want to call to the database and put each colum into a array dynamicaly.
$multiarray = array(
"name" => array(
1 => "John Doe",
2 => "Jane Doe",
3 => "Jimmy Doe"
),
"timestamp" => array(
1 => "04/29/03 - 05:34:06",
2 => "04/28/03 - 05:34:06",
3 => "04/27/03 - 05:34:06"
),
"id" => array(
1,
2,
3
)
);
How do I do that dynamicaly? First problem I have is the commas. The last entry can not have a comma. It will cause a parse error. This is harder than it seems at first. I have spent a few hours ripping my hair out and reading on arrays on php.net http://www.php.net/manual/en/language.types.array.php Any help I am most thankful. | | |
▼ Sponsored Links ▼
▲ Sponsored Links ▲
| | | Joined: Dec 2002 Posts: 3,255 Likes: 3 UGN Elite | UGN Elite Joined: Dec 2002 Posts: 3,255 Likes: 3 | No help? Common guys, anyone at all wana take a crack at this? | | | | Joined: Dec 2002 Posts: 3,255 Likes: 3 UGN Elite | UGN Elite Joined: Dec 2002 Posts: 3,255 Likes: 3 | Still now help? Anyone, anyone at all? | | | | Joined: Oct 2002 Posts: 955 UGN Super Poster | UGN Super Poster Joined: Oct 2002 Posts: 955 | | | | | Joined: Dec 2002 Posts: 3,255 Likes: 3 UGN Elite | UGN Elite Joined: Dec 2002 Posts: 3,255 Likes: 3 |
$quer = mysql_query("SELECT * FROM Svc_mgr WHERE id = '$id'");
$count = 0;
$some_array = array(
while($quer2 = mysql_fetch_array($quer)) {
"name" => array(
$count => "".$quer2['fname']."" "".$quer2['lname']."",)
} "phone" => araay(
$count => "".$quer2['phone']."",)
"cell" => array(
$count => "".quer2['cell_phone']."",)
$count = $count++;
}
) Now this will not work for obvious reasons. for one the last entry for each sub array can not have a trailing comma. Also every time it loops through it will look like so
$multiarray = array(
"name" => array(1 => "John Doe",)
"name" => array(2 => "Jane Doe",)
"name" => array(3 => "Jimmy Doe",)
), ), ),
"name" => array(1 => "04/29/03 - 05:34:06",)
"name" => array(2 => "04/28/03 - 05:34:06",)
"name" => array(3 => "04/27/03 - 05:34:06",)
),),),
"id" => array(1,)
"id" => array( 2,)
"id" => array(3,)
)
);
So here I am slaming my head into the desk out of frustration. I know I am doing something all wrong. I just want to know what the right way is. I have been all through http://www.php.net looking for how to do what I want to do. Any ideas? | | | | Joined: Jun 2002 Posts: 3 Junior Member | Junior Member Joined: Jun 2002 Posts: 3 | your code doesn't make sense for a multi-dimesional array because your naming the parts between a named array. secondly why don't you just use three sperate arrays because u can use many functions to modify one array which does the same to the others.. | | | | Joined: Jun 2002 Posts: 3 Junior Member | Junior Member Joined: Jun 2002 Posts: 3 | from what i can figure why don't you do something like: $num = mysql_numrows( $result );
$i = 0;
$names = "";
$ids = "";
$timestamps = "";
while (i < $num)
{
$name=mysql_result($result,$i,"name");
$timestamp=mysql_result($result,$i,"timestamp");
$id=mysql_result($result,$i,"id");
$names = $name . "\"name\" => array($id => \"$name\",)";
$timestamps = $timestamps . "$id =g> \"$timestamp\", ";
$ids = $ids . "$id,";
$i = i + 1;
}
$multiarray = array( "name" => array( $names ), "timestamp" => array( $timestamps ), "id" => array( $ids ) ); edit to replace greaterthansymbol with > | | |
Forums41 Topics33,840 Posts68,858 Members2,176 | Most Online3,253 Jan 13th, 2020 | | | |