Автор Тема: обновление базы данных  (Прочитано 7352 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Elfist

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
обновление базы данных
« : 16 Мая 2010, 22:36:46 »
вот такая проблема

существует таблица с 3-мя строками: id,link,title
нужно отредактировать поле link и title

<?php include("../config.php");?>  
<?php include("../lock.php");   
if (isset(
$_POST[\'id\'])) {$id = $_POST[\'id\']; }    $resultk = mysql_query ("SELECT * FROM friends WHERE id=\'$id\'");  
$myrowk = mysql_fetch_array($resultk);        
 print <<<HERE      <form id="form1" method="post" action="update_friend.php">
<label>Введите название сайта  
 <input value="$myrowk[title]"  type="text" name="title" id="title" />        </label>            <label>Введите ссылку на сайт 
<input value="$myrowk[link]" type="text" name="link" id="link" /></label>
<input name="id" type="hidden" value="$myrowk[id] "/><label>          <input type="submit" name="submit" id="submit" value="Изменить данные "/></label></form>    HERE;    ?>


соединение с базой данных происходит в файле config.php

Собственно проблема вот в чём.Почемуто не выводится значение "value"(которое и надо изменить) т.е $myrow[title\'] почему-то пустое значение,хотя в базе данных оно есть.


Версия сервера: 5.0.51a

кто чем может помогите

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
обновление базы данных
« Ответ #1 : 18 Мая 2010, 07:05:30 »
А что мешает проверить значения переменной которая передаются в запрос?

Я бы еще посоветовал включить error_reporting(E_ALL)
очень помогает.
[off]Безработный[/off]

Оффлайн Elfist

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
обновление базы данных
« Ответ #2 : 18 Мая 2010, 23:05:36 »
а смысл её проверять?

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
обновление базы данных
« Ответ #3 : 20 Мая 2010, 02:05:00 »
Elfist
ты проверишь или мне закрыть тему ?
[off]Безработный[/off]

Оффлайн Elfist

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
обновление базы данных
« Ответ #4 : 20 Мая 2010, 21:07:22 »
ЗАкрывать не надо.Просто не вижу смысла проверять,ведь и так знаю, что она пуста.
Ну может я не так понял тебя,если можно то поподробней.
Ах да...вот ещё что: почему-то на домашней машине всё работает а вот на хосте нет!

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
обновление базы данных
« Ответ #5 : 21 Мая 2010, 00:40:46 »
Elfist
$resultk mysql_query ("SELECT * FROM friends WHERE id=\'$id\'");

$id-эта переменная пустая?

если, да то я так понимаю твой запрос должен возвращать пустую строку.
соответственно ты получаешь пустое значение в атрибут value=""

не вижу ничего не естественного.
[off]Безработный[/off]

Оффлайн Elfist

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
обновление базы данных
« Ответ #6 : 21 Мая 2010, 10:35:22 »
нет эта переменная не пуста.
Дело в том,что всё прекрасно работает на локалхосте,но когда я этоже проверяю на хостинге-не работает.Вот и пытаюсь выяснить почему так.

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
обновление базы данных
« Ответ #7 : 21 Мая 2010, 21:51:48 »
ну так проверь эту переменную на сервере...
а потом уже будем дальше разбираться.

Если она все же не пустая. Проверь результат своего запроса.

и включи error_reporting(E_ALL).
[off]Безработный[/off]

Оффлайн Elfist

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
обновление базы данных
« Ответ #8 : 22 Мая 2010, 11:17:48 »
Сделал так:

<?php include("../config.php");?>  
<?php include("../lock.php");
error_reporting (E_ALL);   
if (isset(
$_GET[\'id\'])) {$id = $_GET[\'id\'];} 

if (!isset($id))
{
$result = mysql_query ("SELECT id,title FROM data ");
if (!$result)
{
echo "<p>Запрос не может быть выполнен.Пожалуйста сообщите об этом администратору.
<strong>Код ошибки:</strong> </p>";
exit (mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array ($result);

}
else
{
echo "<p>Информация по запросу не может быть извлечена,в таблице нет запесей</p>";
exit ();
}

do
{
printf ("<p><a href=\'ЭТОТ-ЖЕ ФАЙЛ?id=%s\'>%s</a>",$myrow["id"],$myrow["title"]);
	

	

}
while ($myrow = mysql_fetch_array ($result));

}

//если существует $id
else
{

if (empty($id))
{
echo "Переменная id пуста";
}
else
{


/* Вытаскиваем из базы все поля и сравниваем переменную $id */
$result = mysql_query ("SELECT * FROM data WHERE id=$id"); /* Приравниваем к переменной $result все поля из таблицы data */
$myrow = mysql_fetch_array($result); /* Выводим массив из переменной $result  и приравниваем  к переменной $myrow*/

$result2 = mysql_query ("SELECT id,title FROM categories"); /* Для категорий */
$myrow2 = mysql_fetch_array($result2);

$count = mysql_num_rows ($result2);

echo "<h2 align=\'center\'>Редактирование материала</h2>";
echo "<form id=\'form1\' method=\'post\' action=\'update_post.php\'>
<p>Выберите категорию:
<select name=\'cat\' size=\'$count\'>";

do
if ($myrow[\'cat\'] == $myrow2[\'id\'])
{
printf ("<option value=\'%s\' selected>%s</option>",$myrow2[\'id\'],$myrow2[\'title\']);
	

}
else
{
printf ("<option value=\'%s\'>%s</option>",$myrow2[\'id\'],$myrow2[\'title\']);
}
while ($myrow2 = mysql_fetch_array($result2));
echo "</select></p>";


print <<<HERE

  
    <p>
      <label>Введите название материала
        

        <input value="$myrow[title]" type="text" name="title" id="title" />
      </label>
    </p>
    <p>
      <label>Введите краткое описние материала

<input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d" />
      </label>
    </p>
    <p>
      <label>Введите ключевые слова
        

        <input value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k" />
      </label>
    </p>
    <p>
      <label>Введите дату
        

        <input value="$myrow[date]" type="text" name="date" id="date" />
      </label>
    </p>
    <p>
      <label>Введите описание

<textarea name="description" id="description" cols="45" rows="5">$myrow[description]</textarea>
      </label>
    </p>
    <p>
      <label>Введите полный текст материала
        <textarea name="text" id="text" cols="45" rows="5">$myrow[text]</textarea>
      </label>
    </p>
    <p>
      <label>Введите ваше имя

<input value="$myrow[author]" type="text" name="author" id="author" />
      </label>
    </p>
	
<input name="id" type="hidden" value="$myrow[id]" /> <!--Прячем поле которое передаёт идентификатор-->
    <p>
      <label>
        <input type="submit" name="submit" id="submit" value="Изменить данные" />
      </label>
    </p>

  </form>

HERE;
}

}
?>


Всё работает!!!Спасибо за то,что уделил внимание,буду заходить к вам по чаще.
« Последнее редактирование: 22 Мая 2010, 11:33:20 от Elfist »

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28