[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогитееее!!
nasferatu
Доброго времени суток!
Только начинаю осваивать php и столкнулся с такой проблемой. Сам решить не могу, поэтому пришел к вам.
Код php (опускаю все лишнее):

include ("function.php");
echo "<form name='form1'>";
echo "<select name='menu2' onChange='MM_jumpMenu(,this,0)'>";
all_view("name1","namestr1");
echo "</select>";
echo "<br>";
echo "<select name='menu1' onChange='MM_jumpMenu(,this,0)'>";
all_view("name2","namestr2");
echo "</select>";
echo "</form>";

код function.php:
function all_view($dbname,$dbstr)
{
include ("connect.php");
$resultdb = mysql_query ("SELECT * FROM $dbname",$db);
$result = mysql_fetch_array ($resultdb);
do
{
echo "<option>".$result[$dbstr]."</option>";
}
while ($result = mysql_fetch_array ($resultdb));
}
В данном случае написал функция вывода выподающегося списка. При первом вызова функции проблем нет, список выводится, а при втором нет.
Кто знает почему??
Заранее благодарен.



Спустя 57 минут, 20 секунд (18.02.2009 - 20:44) Viking написал(а):
прежде всего у тебя include ("connect.php"); делается два раза, может это и не вызывает ошибку, но совершенно ни к чему, его полезно вынести за пределы функции, и в любом случае лучше всегда использовать include_once
повставляй echo mysql_error(); после запросов, если ошибка в запросе это поможет ее найти

Спустя 1 час, 51 минута, 11 секунд (18.02.2009 - 22:35) lawbreaker написал(а):
а чё ето такое?
PHP
all_view("name2","namestr2");

разве не так?
PHP
all_view($var1,$var2);

Спустя 13 минут, 25 секунд (18.02.2009 - 22:49) nasferatu написал(а):
Цитата (lawbreaker @ 18.02.2009 - 19:35)
а чё ето такое?
PHP
all_view("name2","namestr2");

разве не так?
PHP
all_view($var1,$var2);

Это не существенно.

include_once тоже не спасает

Спустя 19 минут, 20 секунд (18.02.2009 - 23:08) Viking написал(а):
Цитата
include_once тоже не спасает

а что, должно было?
mysql_error() что показывает?

Спустя 12 минут, 1 секунда (18.02.2009 - 23:20) nasferatu написал(а):
пробовал вставлять mysql_error(), ничего не выводит

Спустя 22 минуты, 8 секунд (18.02.2009 - 23:42) Viking написал(а):
all_view("name2","namestr2");
echo "</select>";
echo mysql_error();
echo "</form>";

попробуй сюда вставить

Спустя 17 минут, 13 секунд (18.02.2009 - 23:59) nasferatu написал(а):
ничего не дает.
Может это что-то скажет. Если открыть в браузере исходный код, то там -
<b>Warning</b>: mysql_query(): supplied argument is not a valid MySQL-Link resource in <b>function.php</b> on line <b>15</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><!--error--><br />

Спустя 11 минут, 45 секунд (19.02.2009 - 00:11) Viking написал(а):
ну да
on line 15 переводится на российский язык наверное как "на строке 15"
argument is not a valid - скорее всего аргумент неправильный
видимо $db имеется ввиду, соединение с базой неправильное

чтобы лишний раз исходный код не открывать, переделай функцию так, чтобы она не выводила все сама, а возвращала результата return'ом

Спустя 2 минуты, 11 секунд (19.02.2009 - 00:13) Viking написал(а):
хотя не поможет...

Спустя 5 минут, 40 секунд (19.02.2009 - 00:19) nasferatu написал(а):
я уже не знаю, что делать. Почему функция выводит только при первом вызове, а при последующих ничего.
Придется, наверно, делать все без функции.

Спустя 7 минут, 40 секунд (19.02.2009 - 00:27) LoneCat написал(а):
Цитата (nasferatu @ 19.02.2009 - 01:19)
я уже не знаю, что делать. Почему функция выводит только при первом вызове, а при последующих ничего.
Придется, наверно, делать все без функции.

А файл connect.php можешь продемонстрировать? Такое ощущение что проблема в этом, вообще впринципе include внутри функции не самое лучшее решение.

Спустя 4 минуты, 31 секунда (19.02.2009 - 00:31) Viking написал(а):
у тебя таблица name2 точно есть?
connect.php покажи

Спустя 3 минуты, 37 секунд (19.02.2009 - 00:35) nasferatu написал(а):
<?php
require_once "db.php";
$db = mysql_connect("localhost",$name,$pass);
mysql_select_db($namedb,$db);
?>

в db.php содержаться только пароль, логин и название БД

Спустя 2 минуты, 56 секунд (19.02.2009 - 00:38) Viking написал(а):
как все сложно то...
вот тут шаверма и зарыта, у тебя эти самые пароль и логин берутся только один раз для первого вызова, и остаются локальными для него
вынеси include ("connect.php"); из функции, а из $resultdb = mysql_query ("SELECT * FROM $dbname",$db); второй аргумент убери

Спустя 3 минуты, 58 секунд (19.02.2009 - 00:42) nasferatu написал(а):
Заработало!!!
Мой респект!!!
Спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.