You are here: Re: Rookie PHP/MySQL Question « All PHP « IT news, forums, messages
Re: Rookie PHP/MySQL Question

Posted by Ian Rutgers on 10/10/63 11:33

"Ian Rutgers" <irutgers@otima.ca> wrote in message
news:c6mjf.15$4Z4.6@pd7tw1no...
>
> "Scott Johnson" <scottyj1@cox.net> wrote in message
> news:ksZif.5278$pF.4266@fed1read04...
>> Ian Rutgers wrote:
>>> In querying a database
>>>
>>> ($result=query_db("SELECT photo_dir, photo_name FROM photograph_photo
>>> WHERE photo_dir = '$dirToCheck'");
>>>
>>> is $result an array (where I could used a "in_array() function)?
>>>
>>> Thanks,
>>>
>>> Ian
>> No the result is basicly a pointer to an external resource.
>>
>> You need to use an additional function to put that external resource into
>> a usable value.
>>
>> The best way I find is to use (depending on the DB your using, there are
>> different usages for each DB supported) is mysql_fetch_array($result)
>>
>> But with this you will need to step through the $result if more then one
>> row is found.
>>
>> while($row = mysql_fetch_array($result)){
>> foreach($row as $key => $vlaue){
>> echo "Key: ".$key." (Value: ".$value.")";
>> }
>> }
>>
>> Hope this helps. If not post back.
>> Scott
>
> I thought I had this problem licked until I found I wasn't getting all the
> values stored in my array ....
> If I use:
> while($row = mysql_fetch_array($result))
> {
> printf ($row["photo_name"]);
> foreach($row as $key => $value)
> {
> $my_array[$key] = $value;
> }
> } //array now full of results from previous query
> print_r($my_array);
> $numArrayItems = count($my_array);
> print("{$numArrayItems}\r");
>
> I discover the numer of array items is only 2 (versus the 12 it should
> be).
> If I use:
> foreach($row as $value)
> {
> $my_array[] = $value;
> }
> I discover the number of array items is 24(double the number it should
> be).
>
> What am doing wrong????
>
> Thanks
>
Update ...With a Question ... I changed this:
while($row = mysql_fetch_array($result))
{
printf ($row["photo_name"]);
foreach($row as $key => $value)
{
$my_array[$key] = $value;
}
} //array now full of results from previous query

to this ....

while($row = mysql_fetch_array($result))
{
$my_array[] = $row["photo_name"];
}

and $my_array[] now stores the corrent number of image names!! Why does the
foreach(....) duplicate the entries?

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация