|
|
|
| есть таблица:
CREATE TABLE `country` (
`id_country` int(6) NOT NULL auto_increment,
`name` mediumtext NOT NULL,
PRIMARY KEY (`id_country`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `country`
--
INSERT INTO `country` VALUES (1, 'Россия');
INSERT INTO `country` VALUES (2, 'Украина');
|
Нужно вывести все данные из таблицы, вот как я выводжу:
<?php
// Соединяемся с базой данных
require_once("../config.php");
?>
<a href="addcountryform.php">Добавить новую страну</a>
<?php
// Выполняем SQL-запрос
$ath = mysql_query("select * from country;");
if($ath)
{
// Определяем таблицу и заголовок
echo "<table border=1>";
echo "<tr><td>Страна</td><td>Действие</td></tr>";
// Так как запрос возвращает несколько строк, применяем цикл
while($country = mysql_fetch_array($ath))
{
echo "<tr>
<td>".$country['name']."</td>
<td><a href="">Редактировать</a><br>
<a href="">Удалить</a></td>
</tr>";
}
echo "</table>";
}
else
{
echo "Error: ".mysql_error()."";
exit();
}
?>
|
Вот какую ошику выдает:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in z:\home\localhost\www\peoplecrimea\admin\country\index.php on line 30
|
Что я сделал не так? | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 12:03)
| | мож вместо ("select * from country;"); заменить на ("select * from country"); ?))) | |
|
|
|
|
|
|
|
для: Bad
(26.09.2007 в 12:12)
| | Нет, ошибка таже, да и в книге. откуда я брал подобный код было написано так как у меня. (книжка "PHP 5 Практика создания web-сайта") | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 12:03)
| | Вместо
echo "<tr>
<td>".$country['name']."</td>
<td><a href="">Редактировать</a><br>
<a href="">Удалить</a></td>
</tr>";
вставь
echo "<tr>
<td>".$country['name']."</td>
<td><a href=''>Редактировать</a><br>
<a href=''>Удалить</a></td>
</tr>"; | |
|
|
|
|
|
|
|
для: Bad
(26.09.2007 в 12:19)
| | Получилось, спс, вот тока я не понял, а почему нельзя было как у меня? | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 12:03)
| |
<?
echo "<tr>
<td>".$country['name']."</td>
<td><a href=\"\">Редактировать</a><br>
<a href=\"\">Удалить</a></td>
</tr>";
}
|
| |
|
|
|
|
|
|
|
для: sim5
(26.09.2007 в 12:21)
| | Собственно возник вопрос, а как теперь сделать удаление страны? Чего-то не соображу никак :( | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 12:28)
| | Только тотальной войной и то навряд-ли :) От куда удалить? | |
|
|
|
|
|
|
|
для: sim5
(26.09.2007 в 12:33)
| | >Только тотальной войной и то навряд-ли :)
Тоже об этом думал:)))
Ели серьезно, то удалить из Таблицы, вот как я написал:
<?php
// Соединяемся с базой данных
require_once("../config.php");
// Выполняем запрос на удаление страны
$query_country = "DELETE FROM coutry
WHERE id_country=".$_GET['id_country'];
if(mysql_query($query_country))
{
// Осуществляем автоматический переход на главную страницу
// администрирования статей
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh'
CONTENT='0; URL=index.php?id_page=".$_GET['id_page']."'>
</HEAD></HTML>";
} else puterror("Ошибка при удалении страны");
?>
Но чего-то выдает ошибку:
"Ошибка при удалении страны"
|
| |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 12:40)
| | Все - разобрался - опечатка была
было:
$query_country = "DELETE FROM coutry
а надо
$query_country = "DELETE FROM country | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 12:40)
| | Вам что нужно - по запросу $_GET['id_page'] удалить запись из базы, или так как вы делаете, не проверив запроса ни с того ни с чего удалили? Я вооще не понимаю, что вы собираетесь добиться своим кодом. | |
|
|
|
|
|
|
|
для: sim5
(26.09.2007 в 12:45)
| | Чего-то я не совсем понял, а на что еще запрос надо проверять? у меня вроде все заработало:)
А добиться я собирался следующего - в таблице хранится список стран, и если страна не нужна, то чтобы при нажатии на кнопку Удалить - она удалялась | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 12:55)
| | Ну-ну, коли вы считаете свою стратегию правильной, нет вопросов. | |
|
|
|
|
|
|
|
для: sim5
(26.09.2007 в 13:05)
| | sim5, я вовсе не говорю, что я прав, наоборот, прошу помощи, поэтому если видишь ошибки - то укажи плз на них, а то у нас бестолковый разговор получается. | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 13:12)
| | Прежде чем выполнить это:
<?
$query_country = "DELETE FROM coutry WHERE id_country=".$_GET['id_country'];
|
надо наверное убедиться, а пришло ли вот это $_GET['id_country'], и не мешало бы проверить, а что в качестве $_GET['id_country'] вам шлют. Как вы думаете? | |
|
|
|
|
|
|
|
для: sim5
(26.09.2007 в 13:49)
| | Понял, а как сие осуществить?
по поводу пришло ли, я думаю вот так надо:
if(empty $_GET['id_country']) { echo "Не задана страна для удаления";
exit();
}
|
Я прав?
А вот как проверить что прислали? | |
|
|
|
|
|
|
|
для: Dizels
(26.09.2007 в 14:01)
| | Это ведь ваше:
<?
echo "<tr>
<td>".$country['name']."</td>
<td><a href=''>Редактировать</a><br>
<a href=''>Удалить</a></td>
</tr>";
}
<?
|
Втсавляйте соответствующий запрос в адресе:
<a href='scriptname.php?id_country=id'>Удалить</a>
где id - это ID-номер страны полученный из базы
|
Далее проверяйте if (isset($_GET['id_country'])), чему равно его заначение, цифра ли, ну и т.д. | |
|
|
|
|
|
|
|
для: sim5
(26.09.2007 в 14:17)
| | А, я у себя в скрипте <a href='scriptname.php?id_country=id'>Удалить</a> это прописал, забыл здесь обновить:))))
Спасибо за терпение! | |
|
|
|