|
|
|
|
|
|
#19378 - 04/29/03 04:51 AM
PHP/MySQL Select and drop into multidemesional array
|
UGN Elite
   
Registered: 12/03/02
Posts: 3252
Loc: here
|
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.
_________________________
My New site OpenEyes
|
|
Top
|
|
|
|
Sponsored Links
Sponsor 
|
Sponsor Advertisements help keep UGN Security Online.
Support UGN Security by Purchasing our Sponsors Products.
|
| Top |
|
|
|
#19381 - 05/02/03 11:27 AM
Re: PHP/MySQL Select and drop into multidemesional array
|
UGN Super Poster
Registered: 10/08/02
Posts: 954
Loc: Merrill, IA, USA
|
|
|
Top
|
|
|
|
#19382 - 05/04/03 11:34 PM
Re: PHP/MySQL Select and drop into multidemesional array
|
UGN Elite
   
Registered: 12/03/02
Posts: 3252
Loc: here
|
$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?
_________________________
My New site OpenEyes
|
|
Top
|
|
|
|
#19383 - 06/03/03 09:25 AM
Re: PHP/MySQL Select and drop into multidemesional array
|
Junior Member
Registered: 06/14/02
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..
|
|
Top
|
|
|
|
#19384 - 06/03/03 09:59 AM
Re: PHP/MySQL Select and drop into multidemesional array
|
Junior Member
Registered: 06/14/02
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 >
|
|
Top
|
|
|
|
|
Registered: 02/11/08
Posts: 16
|
|
6890 Members
44 Forums
11065 Topics
45844 Posts
Max Online: 677 @ 06/30/07 10:06 PM
|
|
|
1 registered (Gizmo),
13
Guests and
3
Spiders online. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|