Задавайте вопросы, мы ответим
Вы не зашли.
Проблема вот какая - в MySQL я -ноль! Помогите создать базу данных. Нужно чтобы несколько пользователей записывали в нее тексты , могли просматривать все и менять если необходимо только свои.Ситуация такая -был человек- умер. Что надо создать , чтобы записи упорядочивали по годам жизни, по этапам, по друзьям, знакомым, родственникам, по его книгам и т.д., а самое главное - как это потом выводить - нужно чтобы вывод был так же по запросу - года, книги, родственики и т.д. и главное , как организовать поиск по базе, чтобы вывод был не только по конкретной дате, книге и т.п., но и выводились перекрестные результаты - т.е. например - друг- выводилось бы все что связывало человека с другом - периоды работы, знакомые и т.д. ???
Еще раз повторюсь - ноль я в БД !!!!
Неактивен
А вообще на чём пишете?
Если Вы никогда не работали с базами данных то Вам надо формулировать вопрос иначе - что почитать и где посмотреть примеры использования mysql в связке с тем-то...
Неактивен
Будет PHP . На главной странице будет только информация и поиск по статьям . Все статьи будут добавляться на странице администрирования. Я так понял что могу в принципе для добавления статей использовать скрипт новостной ? Статьи будут добавляться в базу данных.. А как мне потом на главной странице организовать поиск по этим статьям? По годам жизни, по работам,по друзьям и т.д.??? И главное есть ли в MySQL возможность поиска и вывода перекрестной информации ???
Неактивен
Mysql как и все реляционные базы в основном и применяются для поиска и вывода связанной информации.
Практически любой туториал по пхп и mysql рассматривает в качестве примера задачи похожие на Вашу
Неактивен
Например, книга Харрис "PHP/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)
Неактивен
Без кода процедур и знания о том, проставляете ли Вы catid - мы бессильны что-то сделать.
Неактивен
А что такое в базе атрибут UNSIGNED ?
И еще такой ворос - а в базе id всегда будет прибавлять единицу? Если я например удаляю каталог , то когда начинаю создавать новый, у меня почему то id начинатся с номера последнего удаленного ?
Отредактированно byik (27.08.2008 13:23:48)
Неактивен
unsigned означает "число без знака", т.е. >= 0.
Значение автоинкрементного поля устанавливается равным последнему выданному значению +1.
Неактивен
Спасибки !
Неактивен
Ну вот , еще вопросик появился , допустим с админской частью я все решил , подскажите , как мне лучше выводить информацию на главную страницу, в плане того , допустим у меня в базе есть каталоги по годам ,
по друзьям и т.д..На главной нужно поставить такие же кнопочки - мне для них нужно создать файл - обработчик ???
Если есть где нибудь такой пример, подскажите пожалуйста....
Неактивен
Здесь обсуждалось: http://sqlinfo.ru/forum/viewtopic.php?id=510
Неактивен
с id +1 разобрался, можно оказывается через phpMyadmin в ручную ввести номер , с которого он начнет считаться...
Неактивен
И еще вопросик - мне надо сделать так, чтобы на главную страницу только выводилась информация из БД, мне надо создать для этого нового пользователя ? Если да- то с какими правами ? Чтобы никто ничего не мог поменять в базе .
Неактивен
GRANT SELECT ON dbname.* TO username@localhost IDENTIFIED BY 'password';
Неактивен
Еще вопрос: есть вот такое меню
<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"> </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)
Неактивен
goda.php явно не на месте
Ндо сделать:
<option value="1935">1935</option>
А в скрипте
eval(targ+".location='"+"goda.php?year="+selObj.options[selObj.selectedIndex].value+"'");
Тогда год будет передан как GET-параметр
Неактивен
а подскажите еще куда ето вставить, и можно ли результат привести к переменной ?
Попробовал в менюшке поставить <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)
Неактивен
База данных здесь почти не причем, GET-параметр Вы можете получить с помощью $_GET['year']
$id = intval($_GET['year']);
$result = mysql_query("SELECT name,text,avtor_name,data FROM articles WHERE id='$id'",$db);
Неактивен
Спасибо, заработааааааало !!! Блин, тут с вами программером стану )))
Неактивен
А не подскажете еще - может можно менюшку описанную выше сделать попроще, а то годиков там набегает 74 штуки ?
Отредактированно byik (28.08.2008 15:53:01)
Неактивен
rgbeast написал:
Можно отдельные ссылки в таблице сделать. Если хотите стать программером, приходите на webew.ru - там можно и по Javascript и по PHP задать вопрос
Спасибо за ссылочку, там ребята очень сильно помогли, убралось много ручной и ненужной работы! Еще раз спасибо !
Неактивен
Для полноты картины, ссылка на продолжение обсуждения на webew: http://webew.ru/posts/1127.webew
Неактивен