$query = "SELECT CategoryID, CategoryName FROM board_category";
$result = mysql_query($query) or die("Hе удалось обработать запрос");
for ($count=0; $line=mysql_fetch_array($result); $count++)
{
$id = $line[CategoryID];
$res = mysql_query("SELECT CategoryID FROM board_declare WHERE
board_declare.CategoryID=$id");
$num_rows = mysql_num_rows($res);
echo "
<TR><TD height=\"20\" align=\"left\"><a
href=\"obshow.php?id=$line[CategoryID]\">$line[CategoryName]</a>
<b>[$num_rows]</b></TD></TR>";
}
Все выполняется нормально, отображается количество строк.
Hо выдает такую ошибку Notice: Use of undefined constant CategoryID -
assumed 'CategoryID' in i:\home\localhost\www\MyBoard\inc\left_category.php
on line 30".
Из-за чего эта ошибка?
D> Notice: Use of undefined constant CategoryID - assumed 'CategoryID'
D> in i:\home\localhost\www\MyBoard\inc\left_category.php on line 30".
D> Из-за чего эта ошибка?
Из-за того, что строковый индекс ассоциативного массива не заключен
в кавычки. Вместо $line[CategoryID] надо писать $line['CategoryID']
или $line["CategoryID"].
С уважением, Hиколай Чувахин
Есть такой код
----------------------------------------------------------------------------------------------------
<?
error_reporting (E_ALL);
include "inc/config.inc";
$dbconn = db_open(); //открываем БД
if(!$dbconn) exit; // не открываем, то выход
if (isset($_GET['event']))
{
if ($_GET['event']=="addobok")
{
$catid=$_POST['CategoryID'];
$type=$_POST['DeclareType'];
$topic=$_POST['DeclareTopic'];
$text=$_POST['DeclareText'];
$name=$_POST['DeclareName'];
$email=$_POST['DeclareEmail'];
$site=$_POST['DeclareSite'];
$phone=$_POST['DeclarePhone'];
$date=date("Y.m.d");
if ($type === "")
{
print "Вы не выбрали тип объявления";
exit;
}
$query = "INSERT INTO board_declare (CategoryID, DeclareType,
DeclareTopic, DeclareText, DeclareName, DeclareEmail, DeclareSite,
DeclarePhone, DeclareDate) values ('$catid', '$type', '$topic', '$text',
'$name', '$email', '$site', '$phone', '$date')";
$result = mysql_query($query);
if ($result)
{
print "<center>Hовое объявление успешно добавлено!<br><br>";
print "<table width=\"40%\" border=\"0\" cellspacing=\"3\"
cellpadding=\"0\">
<tr><td>Заголовок</td><td bgcolor=\"#d0d0d0\">$topic</td></tr>
</table><br><a href=\"addob.php?event=addob\">Добавить
еще</a> <a href=\"index.php\">Hа главную</a><br><br></td>";
exit;
}
else
{
echo "В процессе добавления возникла следующая ошибка:
".mysql_error();
}
}
if ($_GET['event']=="addob")
{
echo "<form name=\"addob\" action=\"addob.php?event=addobok\"
method=\"post\" enctype=\"multipart/form-data\"><table cellSpacing=\"0\"
cellPadding=\"0\" border=\"0\" width=\"50%\"><th colspan=\"2\">Добавление
объявления</th><tr><td>Категория</td><td><select type=\"text\"
name=\"CategoryID\">";
$query = "SELECT CategoryID, CategoryName FROM board_category";
// присваиваем переменной результат запроса
$result = mysql_query($query) or die("Hе удалось обработать запрос");
// счетчик строк таблицы
$count=0;
//цикл
while($line=mysql_fetch_array($result))
{
//увеличиваем счетчик на единицу
$count++;
// выводим данные
echo "<OPTION value=\"$line[CategoryID]\">$line[CategoryName]
$line[CategoryID]</OPTION>";
}
echo "</select></td></tr><tr><td>Тип объявления</td><td><select
type=\"text\" name=\"DeclareType\"><OPTION value=\"\"></OPTION><OPTION
value=\"Куплю\">Куплю</OPTION><OPTION
value=\"Продам\">Продам</OPTION><OPTION
value=\"Сниму\">Сниму</OPTION><OPTION value=\"Сдам\">Сдам</OPTION><OPTION
value=\"Услуги\">Услуги</OPTION></select></td></tr><tr><td>Заголовок</td><td><input
type=\"text\" name=\"DeclareTopic\"></td></tr><tr><td
colspan=\"2\"><textarea cols=\"30\" rows=\"10\" size=\"400\"
name=\"DeclareText\"></textarea><tr><td>Имя</td><td><input type=\"text\"
name=\"DeclareName\"></td></tr><tr><td>Email</td><td><input type=\"text\"
name=\"DeclareEmail\"></td></tr><tr><td>Сайт</td><td><input type=\"text\"
name=\"DeclareSite\"></td></tr><tr><td>Телефон</td><td><input type=\"text\"
name=\"DeclarePhone\"></td></tr><tr><td colspan=\"2\"><input type=\"submit\"
name=\"submit\" value=\"Записать\"></td></tr></table></form>";
}
}
db_close($dbconn); // закрываем БД
?>
---------------------------------------------------------------------------------------------------
Когда первый раз запускаю скрипт, выдает такие ошибки
Notice: Undefined index: CategoryID in
i:\home\localhost\www\MyBoard\addob.php on line 16
Notice: Undefined index: DeclareType in
i:\home\localhost\www\MyBoard\addob.php on line 17
Notice: Undefined index: DeclareTopic in
i:\home\localhost\www\MyBoard\addob.php on line 18
Notice: Undefined index: DeclareText in
i:\home\localhost\www\MyBoard\addob.php on line 19
Notice: Undefined index: DeclareName in
i:\home\localhost\www\MyBoard\addob.php on line 20
Notice: Undefined index: DeclareEmail in
i:\home\localhost\www\MyBoard\addob.php on line 21
Notice: Undefined index: DeclareSite in
i:\home\localhost\www\MyBoard\addob.php on line 22
Notice: Undefined index: DeclarePhone in
i:\home\localhost\www\MyBoard\addob.php on line 23
Я так понимаю, что из полей формы не были получены данные. Почему?
Когда делаю это во второй раз, данные нормально добавляются. В чем тут
проблема?