|
|
|
|
|
для: Dizels
(28.09.2007 в 13:15)
| | У вас в запросе запятая после name='$name',
$query = "UPDATE country SET name='$name', WHERE id_country='$country';
|
| |
|
|
|
|
|
|
|
для: sim5
(28.09.2007 в 12:44)
| | исправил, спасибо | |
|
|
|
|
|
|
|
для: Dizels
(28.09.2007 в 12:12)
| |
$query = "UPDATE country SET name=$name WHERE id_country=$country";
|
Кавычки закрывать надо. | |
|
|
|
|
|
|
|
для: sim5
(28.09.2007 в 10:47)
| |
А вот сама логика вообще не понятна. Если вы хотите предоставить пользователю выбор, то у вас должен быть список
|
Нет - я хочу предоставить возможность модератору(эти скрипты будут использоваться ограниченным кругом людей) изменять название страны, к примеру, вот вы неправильно ввели Булоруссия - нажимаете исправить и вам должен выводится для начала ваш неправильный текст, т.е. Булоруссия, потом, вы его исправляете на Белоруссия и нажимаете исправить и в БД эта запись должна исправиться, надеюсь объясни понятно:)
Вот файл editcountry.php:
<?php
// Устанавливаем соединение с базой данных
require_once("../config.php");
// Проверяем, заполнены ли поля формы
if(empty($name)) { echo "Введите название страны";
exit;
}
if(empty($country)) { echo "Не передана переменная страны";
exit;
}
// Заменяем одинарные кавычки обратными
$name = str_replace("'","`",$_POST['name']);
// Формируем и осуществляем SQL-запрос на исправление страны
$query = "UPDATE country SET
name='$name',
WHERE id_country='$country';
if(mysql_query($query))
{
// В случае успеха, осуществляем автоматический переход на
// страницу стран
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
</HEAD></HTML>";
}
else puterror("Ошибка при обращении к блоку стран");
?>
|
переменные ТОЧНО передаются, а вот ошибка выпадает следующая:
Parse error: parse error, unexpected '>' in z:\home\localhost\www\peoplecrimea\admin\country\editcountry.php on line 28
|
Я так понимаю, что SQL-запрос составлен неправильно, подскажите плз, как надо сделать. | |
|
|
|
|
|
|
|
для: Dizels
(28.09.2007 в 10:11)
| | А я вам про что-то другое да? Для начала прочтите: mysql_query(), mysql_fetch_array().
А вот сама логика вообще не понятна. Если вы хотите предоставить пользователю выбор, то у вас должен быть список, например:
<select name="id_country">
<option value="1">Россия</option>
<option value="2">Украина</option>
<option value="3">Булоруссия</option>
</select>
|
Тогда понятен выбор вами всех записей таблицы. А вы что делаете? Выбрали все (а это массив!), потом ни с того ни с чего, приравниваете это перменным, которые кстати вообще нигде не используются, далее следующий ляпсус - вставляете в форму, а вы думаете, что вы туда вставляете?
Проверили, нет запроса пользователя, значит выводите ему список (иначе выбор всего, это глупо), т.е. формируете форму. Если пришел запрос, значит либо переход к другому скрипту, либо в этом, где вы производите необходимые изменения в таблице, либо другое, то что вы подразумеваете под изменением. | |
|
|
|
|
|
|
|
для: sim5
(27.09.2007 в 18:34)
| | Эта страница - форма, т.е. туда передается, чтобы потом в <input type="text"> установить значение value развное названию страны, а вот уже как там его подправят, тогда будет все передаваться в файл editcountry.php сейчас же я говорю про файл editcountryform.php | |
|
|
|
|
|
|
|
для: Dizels
(27.09.2007 в 18:04)
| | И будет ошибка, потому как надо:
<?
//Сформировали запрос
$query="select name from country where id_country=".$_GET['id_country'];
//делаем запрос
mysql_query($query);
//а у вас дважды - не понятно?
|
Да и вообще, не важны детали, у вас не верна суть!
>id_country - передается чтобы было ясно название какой страны исправлять.
Если исправлять, то UPDATE, или вставить новое - INSERT. Вы же просто выберате, и что? Для чего вы передаете id_country на страницу, лишь для того чтобы удостовериться что она пришла? У вас логика странная в скрипте, не говоря уж об ошибках. | |
|
|
|
|
|
|
|
для: sim5
(27.09.2007 в 17:44)
| | id_country - передается чтобы было ясно название какой страны исправлять.
Если вставляю
$query= mysql_query("select name from country where id_country=$_GET['id_country']")
|
выдает ошибку:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in z:\home\localhost\www\peoplecrimea\admin\country\editcountryform.php on line 15
|
| |
|
|
|
|
|
|
|
для: Dizels
(27.09.2007 в 17:38)
| | А зачем передается в скрипт $_GET['id_country']? И зачем вы выбираете все записи в базе? Может вам нужно только это:
$query= mysql_query("select name from country where id_country=$_GET['id_country']")
|
| |
|
|
|
|
|
|
|
для: Dizels
(27.09.2007 в 17:38)
| | А зачем точка с запятой?
| |
|
|
|
|