[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Опять этот MySQL
Professor
Доброе время суток.
Все пытаюся написать свой форум,уже написал,но обнаружились ошибки.Помогите плз...

Когда гость создает тему,автоматически создается таблица

Код
<?php
  $id = $_SESSION['user_inf']['login'];
  $tema = trim(htmlspecialchars($_POST['tema']));
  $text = trim(htmlspecialchars($_POST['textarea']));
  $date_reg = date("Y-m-d G:i:s");
  $tem_baza=str_replace(" ","_",$tema); //Заменяет все пробелы на знак "_"

//тут всякие проверки...
    
$baz='CREATE TABLE `'.$tem_baza.'` ('
        . ' `login` TINYTEXT NULL, '
        . ' `maseg` TINYTEXT NULL, '
        . ' `data` DATETIME  NULL'
        . ' )'
        . ' TYPE = myisam';
        
$result=mysql_query($baz);

mysql_select_db($tem_baza);
$query = "INSERT INTO ".$tem_baza." (login, maseg, data) VALUES ('$id', '$text', '$date_reg')";
mysql_query($query) or die (mysql_error ());
?>


С начала бла проблемма когда в названии темы гость использовал пробелы.Это было решенно по средствам
Код
$tem_baza=str_replace(" ","_",$tema); //Заменяет все пробелы на знак "_"

Теперь проблемму вызыввает такое название темы "Мы учиться будем?"

Подозреваю что проблемма из за знака вопроса.
Что подскажите?Как исправить?



Спустя 2 часа, 21 минута, 38 секунд (23.10.2007 - 12:50) md5 написал(а):
а нехер создавать для каждой темы таблицу!

Спустя 1 час, 6 минут, 10 секунд (23.10.2007 - 13:56) Professor написал(а):
Ну я толбко такой метод придумал.Так очань легко находить какое сообщение в какой теме.
А как можно по другому?

Спустя 33 минуты, 47 секунд (23.10.2007 - 14:30) emp написал(а):
Таблица тем. Таблица постов, в ней поле, в котором хранится id темы, к которой относится пост.
Потом при выводе темы соответсвенно
Код
SELECT * FROM $table_posts WHERE `theme_id`='$theme' ORDER BY `date` DESC


P.S. Сегодня к вечеру у себя на сайте выложу исходники бетки своего мини-форума, можете посмотреть как там реализовано. Я, конечно, не говорю что этот метод лучший, но он лучше чем на каждую тему создавать таблицу smile.gif

Спустя 2 часа, 28 минут, 29 секунд (23.10.2007 - 16:59) Professor написал(а):
А чем вам не нравится мой вариант реализации базы данных?
Помоему идеальный вариант.
особенно когда мноро сообщений,выборка по темам будет очень долгой,а у меня этой выборки нет.

Спустя 17 часов, 48 минут, 44 секунды (24.10.2007 - 10:47) lenich написал(а):
Professor,
таблицы это сущности, а не отдельно взятые объекты. По такой базе вообще невозможно делать выборки. Попробуй допустим выбрать все темы где постил какой - нибудь пользователь.
Цитата
Как исправить?

Только заново переделать.

Спустя 5 часов, 36 минут, 6 секунд (24.10.2007 - 16:23) Professor написал(а):
Ести еще одна таблица где хранятся названия тем.И по этим названиям идет обращение к определенной таблице,ведь название тамы и имя таблици это одно и тоже.

Спустя 1 час, 34 минуты, 59 секунд (24.10.2007 - 17:58) emp написал(а):
Цитата
ведь название тамы и имя таблици это одно и тоже

Ну и будете мучаться с названиями таблиц. Зачем изобретать велосипед?


_____________
Легче всего создаются трудности
Быстрый ответ:

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