SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.08.2008 10:23:27

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

кто на MySQL собаку съел - помогите

Проблема вот какая - в MySQL  я -ноль! Помогите создать базу данных. Нужно чтобы несколько пользователей записывали в нее тексты , могли просматривать все и менять если необходимо только свои.Ситуация такая -был человек- умер. Что надо создать , чтобы записи упорядочивали по годам жизни, по этапам, по друзьям, знакомым, родственникам, по его книгам и т.д., а самое главное - как это потом выводить - нужно чтобы вывод был так же по запросу - года, книги, родственики и т.д. и главное , как организовать поиск по базе, чтобы вывод был не только по конкретной дате, книге и т.п., но и выводились перекрестные результаты - т.е. например - друг- выводилось бы все что связывало человека с другом - периоды работы, знакомые и т.д. ???
Еще раз повторюсь - ноль я в БД !!!!

Неактивен

 

#2 20.08.2008 11:30:55

Sign
Гуру
Зарегистрирован: 26.06.2008
Сообщений: 43

Re: кто на MySQL собаку съел - помогите

А вообще на чём пишете?
Если Вы никогда не работали с базами данных то Вам надо формулировать вопрос иначе - что почитать и где посмотреть примеры использования mysql в связке с тем-то...

Неактивен

 

#3 20.08.2008 12:14:36

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

Будет PHP . На главной странице будет только информация и поиск по статьям . Все статьи будут добавляться на странице администрирования. Я так понял что могу в принципе для добавления статей использовать скрипт новостной ? Статьи будут добавляться в базу данных..  А как мне потом на главной странице организовать поиск по этим статьям? По годам жизни, по работам,по друзьям  и т.д.??? И главное есть ли в MySQL возможность поиска и вывода перекрестной информации ???

Неактивен

 

#4 20.08.2008 13:07:47

Sign
Гуру
Зарегистрирован: 26.06.2008
Сообщений: 43

Re: кто на MySQL собаку съел - помогите

Mysql как и все реляционные базы в основном и применяются для поиска и вывода связанной информации.
Практически любой туториал по пхп и mysql рассматривает в качестве примера задачи похожие на Вашу

Неактивен

 

#5 20.08.2008 13:51:19

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: кто на MySQL собаку съел - помогите

Например, книга Харрис "PHP/MySQL для начинающих", которую можно найти в сети.

Неактивен

 

#6 27.08.2008 11:20:46

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

if (!isset($_GET["catid"])) print getCats();
elseif(isset($_GET["catid"])) print getArticles($_GET["catid"]);


Помогите разобраться - если убираю перед isset  восклицательный знак - пропадает все информация с экрана, если ставлью , то выводится список, но не по порядку , а через 12 id , например начинается с id1, дальше 12,11 .... 2 , 13. как сделать ,чтобы выводились по порядку ?
Причем в базе стоит по порядку.

Отредактированно byik (27.08.2008 11:23:14)

Неактивен

 

#7 27.08.2008 12:31:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: кто на MySQL собаку съел - помогите

Без кода процедур и знания о том, проставляете ли Вы catid - мы бессильны что-то сделать.

Неактивен

 

#8 27.08.2008 13:14:32

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

А что такое в базе атрибут UNSIGNED ?

И еще такой ворос - а в базе id всегда будет прибавлять единицу? Если я например удаляю каталог , то когда начинаю создавать новый, у меня почему то id начинатся с номера последнего удаленного ?

Отредактированно byik (27.08.2008 13:23:48)

Неактивен

 

#9 27.08.2008 15:16:15

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: кто на MySQL собаку съел - помогите

unsigned означает "число без знака", т.е. >= 0.
Значение автоинкрементного поля устанавливается равным последнему выданному значению +1.

Неактивен

 

#10 27.08.2008 15:40:46

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

Спасибки !

Неактивен

 

#11 27.08.2008 16:58:54

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

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

Неактивен

 

#12 27.08.2008 17:38:19

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: кто на MySQL собаку съел - помогите

Здесь обсуждалось: http://sqlinfo.ru/forum/viewtopic.php?id=510

Неактивен

 

#13 27.08.2008 17:54:27

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

с id +1 разобрался, можно оказывается через phpMyadmin в ручную ввести номер , с которого он начнет считаться...

Неактивен

 

#14 27.08.2008 18:11:15

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

И еще вопросик - мне надо сделать так, чтобы на главную страницу только выводилась информация из БД, мне надо создать для этого нового пользователя ? Если да- то с какими правами ? Чтобы никто ничего не мог поменять в базе .

Неактивен

 

#15 27.08.2008 18:23:38

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: кто на MySQL собаку съел - помогите

GRANT SELECT ON dbname.* TO username@localhost IDENTIFIED BY 'password';

Неактивен

 

#16 28.08.2008 10:00:21

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

Еще вопрос: есть вот такое меню

<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>


  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td width="69" valign="top"><form name="form1" method="post" action="goda.php">
      <label></label>
      <select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
        <option value="goda.php" selected>1933</option>
        <option value="goda.php">1934</option>
        <option value="goda.php">1935</option>
        <option value="goda.php">1936</option>
        <option value="goda.php">1937</option>
        <option value="goda.php">1938</option>
        <option value="goda.php">1939</option>
        <option value="goda.php">1940</option>
      </select>
    </form>
    </td>

При нажатии на любой год , соответственно открывается файл goda.php
А как мне сделать , чтобы в goda.php выводилась информация из БД по заданному году ?

Отредактированно byik (28.08.2008 10:01:28)

Неактивен

 

#17 28.08.2008 15:08:01

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: кто на MySQL собаку съел - помогите

goda.php явно не на месте
Ндо сделать:
        <option value="1935">1935</option>
А в скрипте

  eval(targ+".location='"+"goda.php?year="+selObj.options[selObj.selectedIndex].value+"'");

Тогда год будет передан как GET-параметр

Неактивен

 

#18 28.08.2008 15:34:31

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

а подскажите еще куда ето вставить, и можно ли результат привести к переменной ?
Попробовал в менюшке поставить <option value="1935">1935</option>,  так у меня ошибку выдает...
а ставлю   <option value="goda.php?year=1933">1933</option> нормально уходит на goda.php?year=1933
Как бы мне теперь преобразовать   eval(targ+".location='"+"goda.php?year="+selObj.options[selObj.selectedIndex].value+"'");
в переменную ? чтобы вот сюда подставлялась
$result = mysql_query("SELECT name,text,avtor_name,data FROM articles WHERE cid='1'",$db);
как cid='вот этой переменной'

ниже файл goda.php


<?php
include ("datab.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>года</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

<?php

$result = mysql_query("SELECT name,text,avtor_name,data FROM articles WHERE cid='1'",$db);
$myrow = mysql_fetch_array($result);

do {

printf ("<table width='900' border='0' align='center'  class='main_border'>
  <tr>
    <td class='table_up'><p>%s</p><p>Дата добавления: %s</p><p>Автор: %s</p></td>
  </tr>
  <tr>
    <td class='main_border'>%s</td>
  </tr>
</table><br><br>", $myrow["name"],$myrow["data"],$myrow["avtor_name"],$myrow["text"]);

}
while ($myrow = mysql_fetch_array ($result));
?>
</body>
</html>

Отредактированно byik (28.08.2008 15:41:11)

Неактивен

 

#19 28.08.2008 15:41:04

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: кто на MySQL собаку съел - помогите

База данных здесь почти не причем, GET-параметр Вы можете получить с помощью $_GET['year']

$id = intval($_GET['year']);
$result = mysql_query("SELECT name,text,avtor_name,data FROM articles WHERE id='$id'",$db);

Неактивен

 

#20 28.08.2008 15:47:43

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

Спасибо, заработааааааало !!! Блин, тут с вами программером стану )))

Неактивен

 

#21 28.08.2008 15:52:36

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

А не подскажете еще - может можно менюшку описанную выше сделать попроще, а то годиков там набегает 74 штуки ?

Отредактированно byik (28.08.2008 15:53:01)

Неактивен

 

#22 28.08.2008 16:34:16

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: кто на MySQL собаку съел - помогите

Можно отдельные ссылки в таблице сделать. Если хотите стать программером, приходите на webew.ru - там можно и по Javascript и по PHP задать вопрос smile

Неактивен

 

#23 28.08.2008 21:08:35

byik
Участник
Зарегистрирован: 20.08.2008
Сообщений: 17

Re: кто на MySQL собаку съел - помогите

rgbeast написал:

Можно отдельные ссылки в таблице сделать. Если хотите стать программером, приходите на webew.ru - там можно и по Javascript и по PHP задать вопрос smile

Спасибо за ссылочку, там ребята очень сильно помогли, убралось много ручной и ненужной работы! Еще раз спасибо !

Неактивен

 

#24 28.08.2008 23:09:54

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: кто на MySQL собаку съел - помогите

Для полноты картины, ссылка на продолжение обсуждения на webew: http://webew.ru/posts/1127.webew

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson