[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с БД
Иван_Алексеев
Привет!
Вот задали прогу по работе с БД
Я чо то набросал а оно не хочет работаь, глянте профессиональным глазом что не так

<html>
<
head>
<
title>Спортики</title>
<
body>
<
form method='post'>
<
h1>Ввод данных</h1><br>
Номер:<input type=text name="id"><br>
ФИО:<input type=text name="Fio"><br>
Вид Спорта:<input type=text name="Sport"><br>
Разряд:<input type=text name="Razryd"><br>
Дата рождения:<input type=text name="DateRg"><br>
Медали<input type=text name="Medal"><br>
Дата получения медали:<input type=text name="DateMedal"><br>
<
input type=submit value="Внести данные"><br>
<?
$ms=mysql_connect("localhost","root","");
/*mysql_query("CREATE TABLE Sport (id INT NOT NULL, PRIMARY KEY(id),
Fio VARCHAR(30),Sport VARCHAR(30),Razryd VARCHAR(15),DateRg DATE,
Medal VARCHAR(15),DateMedal DATE)", $ms);*/

mysql_select_db("Sportsmen",$ms);
mysql_query("INSERT INTO Sport VALUES ($_POST(id),$_POST(Fio),$_POST(Sport),$_POST(Razryd),
$_POST(DateRg),$_POST(Medal),$_POST(DateMedal))", $ms);
$res=mysql_query("SELECT * FROM Sport");
?>
<input type=submit value="Вывести данные">
<?
while($row=mysql_fetch_array($res)){
$id=$row[id];
$Fio=$row[Fio];
$Sport=$row[Sport];
$Razryd=$row[Razryd];
$DateRg=$row[DateRg];
$Medal=$row[Medal];
$DateMedal=$row[DateMedal];
echo "$id ","$Fio ","$Sport ","$Razryd ","$DateRg ","$Medal ","$DateMedal";
}
?>
</form>
</
body>
</
head>
</
html>




Спустя 12 минут, 21 секунда (14.11.2010 - 12:45) kovaldm написал(а):
ВОт такой запрос попробуй.

mysql_query("INSERT INTO '". Sport ."' VALUES (`". $_POST['id'] ."`,`". $_POST['Fio'] ."`,`". $_POST['Sport'] ."`,`". $_POST['Razryd'] ."`,`".
$_POST['DateRg'] ."`,`". $_POST['Medal'] ."`,`". $_POST['DateMedal'] ."`)", $ms);

В тэге <form> необходимо указать параметр 'action'.

Спустя 37 секунд (14.11.2010 - 12:45) SlavaFr написал(а):
так и пишет "не хочу работать!" ?
или не довольно $_POST(id) подразумивая что это $_POST['id']

k стате здесь уже пару раз про еrror_reporting(E_ALL) a также о mysql_error() расказывали, так что применяй эти функции чтоб помоч себе и отвечающим локализировать ошибки.

Спустя 11 минут, 49 секунд (14.11.2010 - 12:57) Dattaya написал(а):
Первое что бросилось в глаза - $id=$row[id];
Так как id не константа, её нужно обрамить в кавычки ['id']

Спустя 11 минут, 3 секунды (14.11.2010 - 13:08) Иван_Алексеев написал(а):
Ошибок нету
Просто ни чо не добовляет и ни чо не выводит
Щас попробую ваши предложения
Но вообще я все с книги брал, там все так было написано
И почему он выводит без нажатие на кнопку кстати

Спустя 12 минут, 28 секунд (14.11.2010 - 13:21) Иван_Алексеев написал(а):
Fatal error: Function name must be a string in Z:\home\localhost\www\Sport.php on line 21
Поменял как вы сказали с запросом и выводит это
и акшен в форме на кого то же надо делать а у меня одна страница

Спустя 6 минут, 29 секунд (14.11.2010 - 13:27) Иван_Алексеев написал(а):
Короче и кавычуки я поставил на вывод, ни чо не изменилось, как сдлеть так чтоб с кнопки то все выводилось
Оно просто так все выводиться

Спустя 16 минут, 20 секунд (14.11.2010 - 13:43) SlavaFr написал(а):
покажи скрипт после твоих изменений и опиши точно, что должен делать скрипт.

Спустя 3 минуты, 2 секунды (14.11.2010 - 13:47) Иван_Алексеев написал(а):
Да я скрипт такой же оставил как был, потому что все это не помогло
Он по идее должен вводить даные если я нажал на кнопку
А потом выводить их

Спустя 5 секунд (14.11.2010 - 13:47) inpost написал(а):
Иван_Алексеев
$row['id'];
echo $id.$fio. (не запятая!!!)
<
input type=submit value="Вывести данные" name="send">
if(!empty($_POST['send']))
{
mysql_query("INSERT INTO '". Sport ."' VALUES (`". $_POST['id'] ."`,`". $_POST['Fio'] ."`,`". $_POST['Sport'] ."`,`". $_POST['Razryd'] ."`,`". $_POST['DateRg'] ."`,`". $_POST['Medal'] ."`,`". $_POST['DateMedal'] ."`)", $ms);
}
$ms=mysql_connect("localhost","root","") or die(mysql_error);


А теперь все эти исправления и обратно сюда новый скрипт. Тогда будем смотреть, что дальше не так.

Спустя 13 минут, 56 секунд (14.11.2010 - 14:01) Иван_Алексеев написал(а):
Чо то не догнал как это кнопка в пхп коде то
Не работает так то?

Спустя 6 минут, 13 секунд (14.11.2010 - 14:07) kovaldm написал(а):
Чтобы кнопка работала нужно в скрипте произвести проверку нажата кнопка или нет. И если нажата, то выполнять определенные действия. Inpost же привел пример как это сделать.


$row['id'];
echo $id.$fio. (не запятая!!!)
<
input type=submit value="Вывести данные" name="send">
$ms=mysql_connect("localhost","root","") or die(mysql_error);
mysql_select_db("Sportsmen",$ms);
if(!empty($_POST['send']))//Если кнопка нажата
{
mysql_query(INSERT INTO Sport (`id` ,`Fio` ,`Sport` ,`Razryd` ,`DateRg` ,`Medal` ,`DateMedal` )
VALUES ('". $_POST['id'] ."','". $_POST['Fio'] ."','". $_POST['Sport'] ."','". $_POST['Razryd'] ."','".
$_POST['
DateRg'] ."','". $_POST['Medal'] ."','". $_POST['DateMedal'] ."')", $ms);
}


Спустя 2 минуты, 40 секунд (14.11.2010 - 14:09) Иван_Алексеев написал(а):

<html>
<
head>
<
title>Спортики</title>
<
body>
<
form method='post'>
<
h1>Ввод данных</h1><br>
Номер:<input type=text name="id"><br>
ФИО:<input type=text name="Fio"><br>
Вид Спорта:<input type=text name="Sport"><br>
Разряд:<input type=text name="Razryd"><br>
Дата рождения:<input type=text name="DateRg"><br>
Медали<input type=text name="Medal"><br>
Дата получения медали:<input type=text name="DateMedal"><br>
<
input type=submit name="send" value="Внести данные"><br>
<?
$ms=mysql_connect("localhost","root","");
/*mysql_query("CREATE TABLE Sport (id INT NOT NULL, PRIMARY KEY(id),
Fio VARCHAR(30),Sport VARCHAR(30),Razryd VARCHAR(15),DateRg DATE,
Medal VARCHAR(15),DateMedal DATE)", $ms);*/

mysql_select_db("Sportsmen",$ms);
if(!empty($_POST['send']))
{
mysql_query("INSERT INTO '". Sport ."' VALUES (`". $_POST['id'] ."`,`". $_POST['Fio'] ."`,`". $_POST['Sport'] ."`,`". $_POST['Razryd'] ."`,`". $_POST['DateRg'] ."`,`". $_POST['Medal'] ."`,`". $_POST['DateMedal'] ."`)", $ms);
}

$res=mysql_query("SELECT * FROM Sport");
?>
<input type=submit name="send1" value="Вывести данные">
<?
while($row=mysql_fetch_array($res)){
$id=$row['id'];
$Fio=$row['Fio'];
$Sport=$row['Sport'];
$Razryd=$row['Razryd'];
$DateRg=$row['DateRg'];
$Medal=$row['Medal'];
$DateMedal=$row['DateMedal'];
if(!empty($_POST['send1'])){
echo "$id "."$Fio "."$Sport "."$Razryd "."$DateRg "."$Medal "."$DateMedal";
}
}

?>
</form>
</
body>
</
head>
</
html>

так данные выводяться
а вводиться не хотят

Спустя 5 минут, 50 секунд (14.11.2010 - 14:15) kovaldm написал(а):
Вот запрос для записи.

mysql_query("INSERT INTO Sport (`id` ,`Fio` ,`Sport` ,`Razryd` ,`DateRg` ,`Medal` ,`DateMedal` )
VALUES ('"
. $_POST['id'] ."','". $_POST['Fio'] ."','". $_POST['Sport'] ."','". $_POST['Razryd'] ."','".
$_POST['DateRg'] ."','". $_POST['Medal'] ."','". $_POST['DateMedal'] ."')", $ms);

Спустя 2 минуты, 31 секунда (14.11.2010 - 14:18) Иван_Алексеев написал(а):
Работает спасибо
Но тему пожалуйста не закрывайте
Я еще если что обращусь по удалению и изменение данных)

Спустя 2 часа, 49 минут, 14 секунд (14.11.2010 - 17:07) Иван_Алексеев написал(а):
Что не так с поиском подскажите?

Поиск<input type=text name="ppoisk">
<
input type=submit name="poisk" value="Поиск"><br>
<?
$poi=mysql_query("select $_POST['ppoisk'] FROM Sport");
if (!empty($_POST['poisk'])){
while($row=mysql_fetch_array($poi)){
$id=$row['id'];
$Fio=$row['Fio'];
$Sport=$row['Sport'];
$Razryd=$row['Razryd'];
$DateRg=$row['DateRg'];
$Medal=$row['Medal'];
$DateMedal=$row['DateMedal'];
print "<tr>"."<td>"."$id "."</td>"."<td>"."$Fio "."</td>"."<td>"."$Sport "."</td>"."<td>"."$Razryd ".
"</td>"."<td>"."$DateRg "."</td>"."<td>"."$Medal "."</td>"."<td>"."$DateMedal"."</td>"."</tr>";
}
}

?>

Вот такая ошибка
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\localhost\www\Sport.php on line 33

Спустя 22 минуты, 6 секунд (14.11.2010 - 17:29) inpost написал(а):
print - echo.
echo "<tr><td>".$id."</td><td>";

Спустя 1 минута, 50 секунд (14.11.2010 - 17:31) Иван_Алексеев написал(а):
Да не вывод так то рабочий
Он с запросом что то тупит

$poi=mysql_query("select $_POST['ppoisk'] FROM Sport");
ошибка тут по идее

Спустя 5 минут, 7 секунд (14.11.2010 - 17:36) Dattaya написал(а):
Странно, что на этом месте не было ошибки: $poi=mysql_query("select $_POST['ppoisk'] FROM Sport");

Должно быть так: $poi=mysql_query("select {$_POST['ppoisk']} FROM Sport");
Худший вариант: $poi=mysql_query("select $_POST[ppoisk] FROM Sport");

Спустя 3 минуты, 1 секунда (14.11.2010 - 17:39) inpost написал(а):
$poi = mysql_query(SELECT * FROM `Sport`);

Спустя 11 минут, 1 секунда (14.11.2010 - 17:50) Иван_Алексеев написал(а):
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\Sport.php on line 35
А теперь такую ошибку выдает когда я нажимаю на кнопку
сдесь
while($row=mysql_fetch_array($poi)){

Спустя 10 минут, 23 секунды (14.11.2010 - 18:00) Dattaya написал(а):
После $poi=mysql_query("select {$_POST['ppoisk']} FROM Sport");
Вставьте echo mysql_error();
И пришлите ошибку от MySQL.
Лучше всегда проверять, удался ли запрос. if (!$poi) die(mysql_error());

Спустя 5 минут, 9 секунд (14.11.2010 - 18:06) Иван_Алексеев написал(а):
Это вот ошибка
Access denied for user 'ODBC'@'localhost' (using password: NO)

А это уже так выдает
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Z:\home\localhost\www\Sport.php on line 63

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Z:\home\localhost\www\Sport.php on line 63

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\Sport.php on line 65

Спустя 5 минут, 52 секунды (14.11.2010 - 18:11) Dattaya написал(а):
Вам нужно прочесть любую статью по работе с MySQL, которых в гугле очень много. Вначале нужно сделать подключение к серверу, установить SET NAMES, подключить нужную бд.

Спустя 4 минуты, 6 секунд (14.11.2010 - 18:16) Иван_Алексеев написал(а):
Дык это я сделал, я тока кусок кинул
Скинуть всю прогу мб?
Ладно сам подумаю посижу

Спустя 2 минуты, 5 секунд (14.11.2010 - 18:18) Dattaya написал(а):
Приведите часть кода, где есть функция mysql_connect()

Спустя 17 часов, 34 минуты, 37 секунд (15.11.2010 - 11:52) Иван_Алексеев написал(а):
html>
<
head>
<
title>Спортики</title>
<
body>
<
form method='post'>
<
h1>Ввод данных</h1><br>
Номер:<input type=text name="id"><br>
ФИО:<input type=text name="Fio"><br>
Вид Спорта:<input type=text name="Sport"><br>
Разряд:<input type=text name="Razryd"><br>
Дата рождения:<input type=text name="DateRg"><br>
Медали<input type=text name="Medal"><br>
Дата получения медали:<input type=text name="DateMedal"><br>
<
input type=submit name="dob" value="Внести данные"><br>
<?
$ms=mysql_connect("localhost","root","") or die(mysql_error());
/*mysql_query("CREATE TABLE Sport (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id),
Fio VARCHAR(30),Sport VARCHAR(30),Razryd VARCHAR(15),DateRg DATE,
Medal VARCHAR(15),DateMedal DATE)", $ms);*/

mysql_select_db("Sportsmen",$ms) or die(mysql_error());
if(!empty($_POST['dob']))
{
mysql_query("INSERT INTO Sport (`id` ,`Fio` ,`Sport` ,`Razryd` ,`DateRg` ,`Medal` ,`DateMedal` )
VALUES ('"
. $_POST['id'] ."','". $_POST['Fio'] ."','". $_POST['Sport'] ."','". $_POST['Razryd'] ."','".
$_POST['DateRg'] ."','". $_POST['Medal'] ."','". $_POST['DateMedal'] ."')", $ms);
}


?>

<input type=submit name="vivod" value="Вывести данные"><br>
<
table border=5 align=center>
<
tr>
<
td>Номер</td>
<
td>ФИО</td>
<
td>Вид спорта</td>
<
td>Разряд</td>
<
td>Дата рождения</td>
<
td>Медали</td>
<
td>Дата получения медали</td>
</
tr>
<?
$res=mysql_query("SELECT * FROM Sport");
while($row=mysql_fetch_array($res)){
$id=$row['id'];
$Fio=$row['Fio'];
$Sport=$row['Sport'];
$Razryd=$row['Razryd'];
$DateRg=$row['DateRg'];
$Medal=$row['Medal'];
$DateMedal=$row['DateMedal'];
if(!empty($_POST['vivod'])){
print "<tr>"."<td>"."$id "."</td>"."<td>"."$Fio "."</td>"."<td>"."$Sport "."</td>"."<td>"."$Razryd ".
"</td>"."<td>"."$DateRg "."</td>"."<td>"."$Medal "."</td>"."<td>"."$DateMedal"."</td>"."</tr>";
}
}


?>
Поиск<input type=text name="ppoisk">
<
input type=submit name="poisk" value="Поиск"><br>
<?
if (!empty($_POST['poisk'])){
$poi=mysql_query("select {$_POST['ppoisk']} FROM Sport");

while($row=mysql_fetch_array($poi)){
$id=$row['id'];
$Fio=$row['Fio'];
$Sport=$row['Sport'];
$Razryd=$row['Razryd'];
$DateRg=$row['DateRg'];
$Medal=$row['Medal'];
$DateMedal=$row['DateMedal'];
print "<tr>"."<td>"."$id "."</td>"."<td>"."$Fio "."</td>"."<td>"."$Sport "."</td>"."<td>"."$Razryd ".
"</td>"."<td>"."$DateRg "."</td>"."<td>"."$Medal "."</td>"."<td>"."$DateMedal"."</td>"."</tr>";
}
}

?>
</form>
</
body>
</
head>
</
html>

Спустя 6 часов, 12 минут, 44 секунды (15.11.2010 - 18:05) Иван_Алексеев написал(а):
Что не так с этим запросом?
$poi=mysql_query("SELECT * FROM Sport WHERE choise='Борьба'");

ошибки
Unknown column 'choise' in 'where clause'

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\Sport.php on line 65

Спустя 21 минута, 23 секунды (15.11.2010 - 18:26) Иван_Алексеев написал(а):
И вот еще на удаление запрос
Тоже не работает(

Удалить строку с №<input type=text name="del" size=5>
<
input type=submit name="dell" value="Удаление">
<?
if (!empty($_POST['dell'])){
mysql_query("DELETE FROM Sport WHERE 'id'={$_POST['del']}");
echo mysql_error();
}
?>

Синтаксис говорит не правильный

Спустя 1 день, 14 часов, 10 минут, 45 секунд (17.11.2010 - 08:37) Иван_Алексеев написал(а):
Что ни кто не подскажет(
Скажите хотя бы где примеры можно глянуть, что то в книгах моих нету, найти такого похожего не могу

Спустя 14 минут, 14 секунд (17.11.2010 - 08:51) kirik написал(а):
Цитата (Иван_Алексеев @ 15.11.2010 - 10:26)
Синтаксис говорит не правильный

Правильно говорит. Кавычки косые нужны вместо апострофоф.

Спустя 4 дня, 9 часов, 17 минут, 52 секунды (21.11.2010 - 18:09) Иван_Алексеев написал(а):
Будте добры помогите с отчетами?
Чо то запросы ник ак придумать не могу, в общей форме примерно может накидаете?

вывод спортсменов и их количество, относящихся к определенной возрастной категории (вычисляется в зависимости от даты рождения) и занимающихся конкретным спортом;

вывести все виды и спорта и посчитать в них количество медалей по всем возрастным категориям;

найти и вывести вид спорта, в котором максимальное количество медалей в определенном году.

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.