Forum Webscript.Ru
Программирование => PHP => Тема начата: )ender от 20 Октября 2002, 20:54:52
-
Вот моя функция, которая получает из базы мускл данные:
function get_content($cat_id)
{
$cat="cat";
$allcat=$cat_id.$cat;
$concon=db_connect();
$query="select post_number, text, email from $allcat";
$result=@mysql_query($query);
if(!$result)
return false;
return $result;
$num_post = @mysql_num_rows($result);
if ($num_post ==0)
return false;
$result = db_result_to_array($result);
return $result;
}
она получает строку post_number, text...и.т.д, вообщем сами видите!
а как потом полученные данные разделить?
пробовал так:
foreach ($content as $row)
{
echo $row;
}
Начинает ругатся типа:
Warning: Invalid argument supplied for foreach() in c:\\http\\ametista\\output_fns.php on line 94
Господа екс ламеры помогите утопающему!!!
-
А где $content определен?
-
Вот полная функиция, там где определен $content
function display_content($content)
{
if(empty($content))
{
echo "No content";
exit;
}
else
{
foreach ($content as $row)
{
echo $row;
}
}
}
-
)ender
1. функция может возвращать только одну переменную.
2. ты слишком увлекся написанием функций. они у тебя выполняют совсем не те функции, кдля которых нужны функции. у тбя тут 3 функции, и ВСЕ они лишние.
3. коннектиться к базе внутри функции - бред сивой кобылы.
4. Все это делается вообще не так.
-
о господи, они у него как матрешки!
-
у тебя с функциями получается в три раза больше кода, чем без них!!!
-
db_connect();
$query="select post_number, text, email from table where cat=\'$cat_id\'";
$result=mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result) {
while($row=mysql_fetch_array($result)) {
//выводишь тут свой контент.
}
} else {
echo "No content";
exit;
}
И ВСЕ!
База данных у тебя тоже организована по-уродски.