Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вопросик


Автор: sklip 26.5.2005, 07:12
У меня такой вопрос.
Можно ли зделать веб-приложение, которое будет полноценно работать с БД MS SQL.
Я имею ввиду: ввод данных в базу, соответственно вывод, выборка, сортировка.
Если такое можно осуществить, то подскажите на каком языке. И если не сложно подскажите, как вводить данные в БД с помощью веб-приложения
И ещё какую вы мне литературу посоветуете по этому вопросу.

Зарание спасибо !!!

Автор: sklip 26.5.2005, 07:13
Как вводить данные с помощью PHP в MS SQL Подскажите или дайте какую-нибудь книжку !!!

Значит, кпримеру: Есть таблица, надо сделать на сайте форму для ввода в неё.

Автор: Гость_Illuminaty 26.5.2005, 08:03
Почитать можно http://www.php.net/manual/ru/ref.mssql.php

Автор: Opik 26.5.2005, 08:29
sklip
можно, в чем собственно проблема?

Автор: PARROT 26.5.2005, 09:12
sklip
1) Зарегистрируйтесь пожалуйста. smile
2) Почитайте тут: http://forum.vingrad.ru/index.php?showtopic=27230
3) Тут литература http://forum.vingrad.ru/index.php?showtopic=6581&unread=1&hl
4) Тут книги http://forum.vingrad.ru/index.php?showtopic=18686&hl

Пользуйтесь пожалуйста поиском!

Автор: PARROT 26.5.2005, 11:40
Код в студию!

Автор: $дмитрий 26.5.2005, 11:42
ну к примеру получили из формы 2-е переменные $login and $pass
занести эти данные в БД можно таким образом

Код

$sql = "INSERT INTO `table` (`login`,`pass`) VALUES ('$login','$pass')"; 
mysql_query($sql,$connection) or die('невозможно выполнить запрос на строке: '.__LINE__);


при этом ес-но предварительно создав таблицу table с 2-мя или более ячейками

Автор: Opik 26.5.2005, 11:52
$дмитрий
читаем внимательнее: не MySQL, а MSSQL.

Автор: PARROT 26.5.2005, 11:56
А что это, MSSQL?

Автор: Opik 26.5.2005, 11:57
PARROT
Microsoft SQL Server. база под виндой smile

Автор: sklip 26.5.2005, 12:03
АААА народ срочняк, как ввести данные напишите весь код с HTML. Я полный нуб в этом деле.

Автор: Opik 26.5.2005, 12:20
sklip
Код

<pre>
<?
$query = mssql_query("SELECT *
                                       FROM `table`");
while($row = mssql_fetch_assoc($query))
{
    $arr[] = $row;
}
var_dump($arr);
?>

Добавлено @ 12:20
только коннект к базе не забудь.

Автор: PARROT 26.5.2005, 12:26
Я почему-то так и подумала. smile
А чем оно отличается?
А зачем? Почему не Msql?

Многовато вопросов... smile

Автор: Opik 26.5.2005, 12:30
PARROT
чем? платформой (MSSQL только под винду). разработчиком smile)
можно тут почитать ещё: http://forum.ixbt.com/post.cgi?id=print:40:292

Автор: PARROT 26.5.2005, 12:31
sklip, рисуй форму.

Автор: Opik 26.5.2005, 12:31
PARROT
вопросы "зачем" можно задавать безконечно... например, "зачем тебе это вообще сдалось..!?"

Автор: PARROT 26.5.2005, 13:03
Цитата(Opr @ 26.5.2005, 13:31)
PARROT
"зачем тебе это вообще сдалось..!?"

Что, это?

Автор: sklip 26.5.2005, 13:08
Код

<html>
<body>
<form>
<input type="text" name="Nazvanie" size="30" maxlength="50"><br>
<input type="submit" value="Ввести">
</form>
</body>
</html>


Вот такая форма к примеру.
Уже есть созданная База Данных MS SQL.
Имя сервера Sklip (естественно сервер на моём компе)
БД называется Raspis
Таблица Predmets
Надо ввести данные в 1 столбц Nazvanie

Вопрос, как добавить к этому коду php код smile

Автор: Opik 26.5.2005, 13:11
sklip
http://phpfaq.ru/mysql
только всместо функций mysql_* юзай mssql_*

Автор: sklip 26.5.2005, 13:44
Opr
Пожалуйста напиши, если знаешь как. (в код выше)
Я не могу понять эти функции и как их вставлять.
Там же пару строк всего, а я тупой никак не могу.

Автор: Opik 26.5.2005, 13:47
sklip
ну я напишу, а тебе какой понт от этого? copy-past? след проблема опять бежать клянчить на форум? в мануале есть описания, да да, даже на русском!

Автор: sklip 26.5.2005, 14:43
Opr
ПМ читал ???

Автор: Opik 26.5.2005, 14:50
sklip
на вопросы в ПМ не отвечаю.
Код

<?
$lnk = mssql_connect('localhost', 'root', '');
mssql_select_db('db', $lnk);
$query = mssql_query("SELECT *
                                       FROM `table`");
while($row = mssql_fetch_assoc($query))
{
   print 'row: '.$row['rowName'];
}
?>

Автор: sklip 26.5.2005, 15:38
жаль что ни читаешь !!!
там было написано, что я не могу вставить PHP код в HTML.
Как его вставить чтоб работало то ?????????????????????

Код

<html>
<body>
<form>
<input type="text" name="Nazvanie" size="30" maxlength="50"><br>
<input type="submit" value="Ввести">
</form>
</body>
</html>

Автор: Opik 26.5.2005, 15:40
а ты буковки поменять не можешь?

Автор: PARROT 26.5.2005, 16:03
Примерно это будет выглядеть так.
Код

<html>
<body>
<?
//localhost-название сервера; root-логин сервера;'пароль сервера'
$lnk = mssql_connect('localhost', 'root', '');
mssql_select_db('db', $lnk);//соединяемся с базой
if(isset($_POST['OK']))//если кнопка нажата то мы записываем в базу то что пришло из формы
{
mssql_query("insert into table values('','$name')") or die(mssql_error());
}
$query = mssql_query("SELECT * FROM `table`");//выбираем из базы все по названию таблицы в базе
while($row = mssql_fetch_assoc($query))
{
   print 'row: '.$row['rowName'];
}
?>
<form>
<input type=text name=names size=30 maxlength=50><br>
<input type=submit  name=OK value=Ввести>
</form>
</body>
</html>

Автор: sklip 26.5.2005, 16:19
как я понял надо заменить название БД на свою
Цитата
("insert into table values('','$name')")
, таблицу
Цитата
("SELECT * FROM `table`")
и столбци.
Цитата
while($row = mssql_fetch_assoc($query))
{
  print 'row: '.$row['rowName'];


Что ещё заменить надо ???

Автор: PARROT 26.5.2005, 16:25
$names это то что приходит из формы
Цитата
("insert into table values('','$names')")


имя твоей таблицы
Цитата
("SELECT * FROM `table`")


цикл на вывод содержимого из базы, тут ничего менять не надо.
Цитата
while($row = mssql_fetch_assoc($query))
{
   print 'row: '.$row['rowName'];


Ты на своем компе тестируешь?

Автор: sklip 26.5.2005, 17:02
Цитата
Ты на своем компе тестируешь?

Да конечно

Автор: sklip 26.5.2005, 18:50
написал вот так, но не работает
Код

<html>
<body>
<?
//localhost-название сервера; root-логин сервера;'пароль сервера'
$lnk = mssql_connect('SKLIP', 'sa', '1');
mssql_select_db('Raspis', $lnk);//соединяемся с базой
if(isset($_POST['OK']))//если кнопка нажата то мы записываем в базу то что пришло из формы
{
mssql_query("insert into table values('','$name')") or die(mssql_error());
}
$query = mssql_query("SELECT * FROM `Predmets`");//выбираем из базы все по названию таблицы в базе
while($row = mssql_fetch_assoc($query))
{
   print 'row: '.$row['Nazvanie'];
}
?>
<form>
<input type=text name=names size=30 maxlength=50><br>
<input type=submit  name=OK value=Ввести>
</form>
</body>
</html>

Автор: PARROT 26.5.2005, 18:57
Попробуй так.
Код

<html>
<body>
<?
//localhost-название сервера; root-логин сервера;'пароль сервера'
$lnk = mssql_connect('SKLIP', 'Raspis', '1');//ты конектишься к одной базе
mssql_select_db('Raspis');// а выбирал совсем другую
if(isset($_POST['OK']))//если кнопка нажата то мы записываем в базу то что пришло из формы
{
mssql_query("insert into Predmets values('','$names')") or die(mssql_error());
}
$query = mssql_query("SELECT * FROM `Predmets`");//выбираем из базы все по названию таблицы в базе
while($row = mssql_fetch_assoc($query))
{
   print 'row: '.$row['rowName'];
}
?>
<form>
<input type=text name=names size=30 maxlength=50><br>
<input type=submit  name=OK value=Ввести>
</form>
</body>
</html>

Добавлено @ 19:00
sklip, в базе должно быть 2 поля:
1 поле id записи avto_increment
2 поле name , для той записи что приходит из формы.
Какие ошибки выдает???

Автор: sklip 26.5.2005, 19:21
Всё равно не получается.

Имя сервера Sklip (естественно сервер на моём компе)
БД называется Raspis
Таблица Predmets
Столбцы id_predmet, Nazvanie

Автор: PARROT 26.5.2005, 19:27
см. вверх.
Внимательно сверь каждую строку.
Какие ошибки выдает?
Выложи еще раз код

Автор: sklip 26.5.2005, 19:36
Ошибки не выдаёт, но ни чего не изменяется в БД

Автор: Opik 26.5.2005, 23:39
http://phpfaq.ru/debug

Автор: PARROT 27.5.2005, 11:21
Opr, отличная статья! Спасибо! smile
Добавлено @ 11:30
Цитата(sklip @ 26.5.2005, 20:36)
Ошибки не выдаёт, но ни чего не изменяется в БД

Конечно можно долго гадать на кофейной гуще, но раз ошибок никаких не выдает, значит проверь имя и значение переменной приходящей из формы, а именно:
Код

echo $_POST['names'];

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)