|
|
|
| Помогите, пожалуйста:
Посылаю запрос в функцию, которая должна вернуть многомерный массив.
То ли неправильно возвращаю, то ли неправильно принимаю. Помогите плз:
function stargroup($matrixid) /*___Функция: -> вытаскиваем кол-во звёздочек___________*/
{
$result = mysql_query("SELECT userid, stars FROM ums WHERE matrixid='$matrixid' ORDER BY stars DESC");
$myrow = mysql_fetch_array($result);
$i = 0;
do {
$placestar['$i'] = array("userid" =>$myrow['userid'],"stars" => $myrow['stars']);
$i ++;
} while ($myrow = mysql_fetch_array($result));
return $placestar;
}
|
из кода запрос выглядит так:
$placestar = stargroup($matrixid);
|
В функции массив образуется, но после возврата массива нету...
Подскажите где и что я делаю не так? | |
|
|
|
|
|
|
|
для: bigstalker
(02.02.2008 в 14:35)
| | А так:
<?
function stargroup($matrixid)
{
$result = mysql_query("SELECT userid, stars FROM ums WHERE matrixid='$matrixid' ORDER BY stars DESC");
for(
$placestar=array();
$row=mysql_fetch_assoc($result);
$placestar[]=array("userid" =>$row['userid'],"stars" => $row['stars'])
)
return $placestar;
}
?>
|
| |
|
|
|
|
|
|
|
для: а-я
(02.02.2008 в 14:47)
| | После for(...) точку с запятой, наверное, надо поставить. | |
|
|
|
|
|
|
|
для: kasmanaft
(02.02.2008 в 15:24)
| | Не тот раздел!!! | |
|
|
|
|
|
|
|
для: а-я
(02.02.2008 в 14:47)
| | Спасибо решил проблему:
function stargroup($matrixid) /*___Функция: -> вытаскиваем кол-во звёздочек___________*/
{
$result = mysql_query("SELECT userid, stars FROM ums WHERE matrixid='$matrixid' ORDER BY stars DESC");
$myrow = mysql_fetch_array($result);
$i = 0;
do {
$placestar[$i] = array("userid" =>$myrow['userid'],"stars" => $myrow['stars']);
$i ++;
} while ($myrow = mysql_fetch_array($result));
return $placestar;
}
|
'$i' надо писать без ' ', то есть $i
Спасибо
Кстати, это действительно не тот раздел??? А где тогда тот??? | |
|
|
|
|
|
|
|
для: bigstalker
(02.02.2008 в 14:35)
| | >То ли неправильно возвращаю, то ли неправильно принимаю. Помогите плз:
>
$placestar['$i'] = array("userid" =>$myrow['userid'],"stars" => $myrow['stars']);
|
>В функции массив образуется, но после возврата массива нету...
Образуется, но с единственным элементом.
Ключом этого элемента является строка из двух символов $ и i , как Вы собственно и просили.
>Подскажите где и что я делаю не так?
Уберите ненужные апострофы.
И размещайте вопросы в разделе php, а не здесь. | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2008 в 16:54)
| | спасибо!!! | |
|
|
|
|
|
|
|
для: bigstalker
(02.02.2008 в 16:59)
| | можно сделать, наверное проще
while($arr = mysql_fetch_array($result))
{
$placestar[] = $arr;
}
return $placestar;
|
т.к. названия полей в вашей БД соответствуют именам индексов вашего массива | |
|
|
|
|
|
|
|
для: vito
(10.02.2008 в 06:46)
| | тогда уж mysql_fetch_assoc... | |
|
|
|