Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Редактирование записи

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-47] 

 
 автор: Сквиртел13   (04.07.2006 в 18:53)   письмо автору
 
   для: Trianon   (04.07.2006 в 18:46)
 

Да спасибо. Я уже это исправила. А почему именно так? Дабовление заработало.

   
 
 автор: Trianon   (04.07.2006 в 18:49)   письмо автору
 
   для: Trianon   (04.07.2006 в 18:46)
 

И создайте новую тему. Эта выросла так, что открывать её уже невозможно.

   
 
 автор: Trianon   (04.07.2006 в 18:46)   письмо автору
 
   для: Сквиртел13   (04.07.2006 в 18:27)
 

Он неправильный. Где именно - я показал в (04.07.2006 в 16:53)
Вместо

$query="insert into books values 
('".$isbn."','".$author."', '".$title."', 
'".$price."')";

должно быть написано

$query="insert into books (isbn, author, title, price)
values ('$isbn','$author', '$title', $price)";


А изменять содержание можно будет.
Вы сначала добейтесь , чтоб добавление книг опять заработало.

   
 
 автор: Сквиртел13   (04.07.2006 в 18:27)   письмо автору
 
   для: Trianon   (04.07.2006 в 18:16)
 

Вот он этот код:
<html>
<head>
<title>Магазин "Буквофил" - Результаты вводы

новой книги</title>
</head>
<body>
<h1>Магазин "Буквофил" - Результаты ввода новой

киги</h1>

<?php

$isbn=$_POST['isbn'];
$author=$_POST['author'];
$title=$_POST['title'];
$price=$_POST['price'];

if (!$isbn || !$author || !$title || !$price)
{
echo 'Вы ввели не все необходимые сведенья.<br/>'
.'Пожалуйста, вернитесь на предыдущую

страницу и повторите ввод';
exit;
}
$price = doubleval($price);
if (!get_magic_quotes_gpc())
{
$isbn=addslashes($isbn);
$author=addslashes($author);
$title = addslashes($title);

$id=addslashes($id);
}

$link= mysql_connect('localhost',

'Irina13','pdtplf', 'books')

or die("Не соединилось!!!");


print ("Соединение успешно");

mysql_query("SET NAMES 'cp1251'");
$query="insert into books values

('".$isbn."','".$author."', '".$title."',

'".$price."')";

mysql_select_db("books") or die("Не найдена БД");

$result=mysql_query ("$query");

if ($result)
echo "Книга добавленна в базу данных";


?>
<a href="soedinenie-10.php">Посмотреть

изменение</a>
</body>
</html>
Но он правильный. Просто понимаете в чем дело. Мне нужно как я уже говорила изменять содержание строки таблицы щелкнув на нее. А у меня это не получается. В книги как это сделать не написанно. А я пока новечек в этом деле и не все знаю. Но сделать мне это нужно.

   
 
 автор: Trianon   (04.07.2006 в 18:16)   письмо автору
 
   для: Сквиртел13   (04.07.2006 в 18:03)
 

Не идет у Вас другой скрипт.
Тот, который называется insert_book.php
Его то Вы и не показали. А зря. Т.к. ошибка, вероятно, там. Либо в структуре таблицы.

А из того, что показали, я могу ответить, почему в базе в таблице колонка id первая, а в html (как Вы выразились) последняя.
Первая она там потому что так вставлена. И это правильно. Вполне естественно, когда первичный ключ идет первым.

А html-таблицу (которая в общем случае может не иметь ничего общего с таблицей из БД) Вы рисуете сами. Вот этим кодом:

echo "<table border='1' width=10% bgcolor=gold>";
echo "<td>isbn</td>";
echo "<td>author</td>";
echo "<td>title</td>";
echo "<td>price</td>";
echo "<td>id</td>";

И здесь видно вполне отчетливо, что id надписан над пятым столбцом.

   
 
 автор: Сквиртел13   (04.07.2006 в 18:03)   письмо автору
 
   для: Trianon   (04.07.2006 в 17:53)
 

Значит так пишу все по порядку:

У меня есть код:
<?



$link = mysql_connect("localhost", "Irina13", "pdtplf")

or die("Не соединилось!!!");


print "Соединение успешно";

mysql_query("SET NAMES 'cp1251'");


mysql_select_db("books") or die("Не найдена БД");

echo "<table border='1' width=10% bgcolor=gold>";
echo "<td>isbn</td>";
echo "<td>author</td>";
echo "<td>title</td>";
echo "<td>price</td>";
echo "<td>id</td>";

$r=mysql_query("select * from books");

for ($i=0; $i<mysql_num_rows($r); $i++)
{ echo "<tr>";

$f=mysql_fetch_array($r);
echo "<td>$f[isbn]";

echo "<td>$f[author]</td>";
echo "<td>$f[title]</td>";
echo "<td>$f[price]</td>";
echo "<td><a href='newbook.html?id=$f[id]'>добавить</a>&nbsp;<a href='delete.html ?id=$f[id]'>удалить</a></td>";
echo "</tr>";
}

echo "</table>";

?>
<a href="delete.html">Изменить</a>
<a href="connect.html">Вернуться</a>
Он выводит таблицу на экран.
когда я добавила:
echo "<td><a href='newbook.html?id=$f[id]'>добавить</a>&nbsp;<a href='delete.html ?id=$f[id]'>удалить</a></td>";
у меня появился столбик id и в нем соответственно удалить добавить. Я щелкаю дабавить и появляется форма:
<html>
<head>
<title>Магазин "Буквофил" - Форма ввода новой

книги</title>
</head>

<body>
<h1>Магазин "Буквофил" - Форма ввода новой

книги</h1>

<form action="insert_book.php" method="post">
<table border="0">
<tr>
<td>ISBN</td>
<td><input type="text" name="isbn" maxlength="13"

size="13"></td>
</tr>

<tr>
<td>Автор</td>
<td><input type="text" name="author"

maxlength="30" size="30"></td>
</tr>

<tr>
<td>Название</td>
<td><input type="text" name="title"

maxlength="60" size="30"></td>
</tr>

<tr>
<td>Цена</td>
<td><input type="text" name="price" maxlength="7"

size="7"></td>
</tr>

<tr>
<td colspan="2"><input type="submit"

value="Зарегистрировать"></td>
</tr>
</table>
</form>
</body>
</html>
И почему то не добовляется.
Хотя раньше работало, без столбика id.

   
 
 автор: Trianon   (04.07.2006 в 17:53)   письмо автору
 
   для: Сквиртел13   (04.07.2006 в 17:25)
 

Только что взял Ваш скрипт, добавил предоженные изменения, и несколько изменив подключение к БД, проверил. Всё замечательно добавляется.
Правда, цена искажается - я пробовал на книге за 191 р. Но в целом всё идет.
Так что показывайте скрипт, который не идет. И дамп структуры таблицы. Ошибки где-то там.

А чем Вы в html таблицу смотрите?

   
 
 автор: Сквиртел13   (04.07.2006 в 17:25)   письмо автору
 
   для: Trianon   (04.07.2006 в 17:08)
 

И в html таблица выглядит так:

isbn author title price id
ппп ппп 89 0.00 добавить удалить

А в консоле
id идет первым столбцом а за ним все остальные
Почему?

   
 
 автор: Сквиртел13   (04.07.2006 в 17:21)   письмо автору
 
   для: Trianon   (04.07.2006 в 17:08)
 

Хорошо таблица у меня теперь такая но он все равно не дабавляет!))

   
 
 автор: Trianon   (04.07.2006 в 17:08)   письмо автору
 
   для: Сквиртел13   (04.07.2006 в 17:01)
 

AUTO_INCREMENT должно стоять в операторе создания таблицы. Я же показал Вам дамп.

CREATE TABLE books (
  id int(11) NOT NULL auto_increment,
  isbn char(13) NOT NULL default '',
  author char(50) default NULL,
  title char(100) default NULL,
  price float(4,2) default NULL,
  PRIMARY KEY  (id)
);

   

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-47] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования