Autor
|
Tema: crear tablas para un foro (Leído 4,601 veces)
|
Chazy Chaz
Desconectado
Mensajes: 65
|
Hola, alguien podria ayudarme a crear columnas para las tablas de un codigo php. Es un modelo de un foro super simple. En las funciones insert de los metodos add_topic y add_post() tengo declaradas las columnas de las tablas, o eso tengo entendido xD Lo unico que no se hacer es dar datos a las columnas hehe. Alguien podria ayudarme a saber que tipo de datos necesita cada columna?? Para añadir un topic a la DB uso esto: // Insert the topic $insert_topic = $this->DB->insert("forum_topics", array( 'topic_subject' => $subject, 'topic_by' => $poster, 'last_post_time' => $time, 'topic_forum' => $forum, 'is_sticky' => $sticky, 'is_closed' => $closed, 'is_global' => $global )); // Insert the actual post $insert_post = $this->DB->insert("forum_posts", array( 'post_content' => $content, 'post_by' => $poster, 'post_time' => $time, 'post_topic' => $topicid )); // Update the forum count $rows = $this->DB->update("forum_forums", array( 'total_topics' => "(`total_topics` + 1)", 'total_posts' => "(`total_posts` + 1)", 'last_post_id' => $lastpost_id, 'last_topic_id' => $topicid, 'last_topic_title' => $subject, 'last_post_time' => $time, 'last_post_poster' => $poster ), "`forum_id`='".$forum."'"); Por lo que tengo que crear las tablas con esa informacion, por ejemplo: -- -------------------------------------------- -- Table structure for `forum_topic` -- -------------------------------------------- DROP TABLE IF EXISTS `forum_topic` CREATE TABLE `forum_topic` ( `topic_subject` varchar(100) NOT NULL, // varchar porque es una cadena de caracteres, ¿cierto? `topic_by`, `last_post_time`, `topic_forum`, `is_sticky`, `is_closed`, `is_global`, PRIMARY KEY (``) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Por lo que se, los datos de las columnas van en función al tipo de datos que se va a insertar dentro de ellas, por ejemplo, si se va a insertar un numero seria del tipo int(cantidadmaxima). Es parecido cuando declaras en c o c++, tienes que decirlo que tipo de caracter es, ¿cierto? Corregirme si me equivoco en algo. Estoy empezando con todo esto de php y las bases de datos y necesito algo de ayuda :S Gracias salu2 dew
|
|
|
En línea
|
|
|
|
el-brujo
|
Puedes tomar el ejemplo la tabla topics de SMF 2 CREATE TABLE {$db_prefix}topics ( id_topic mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT, is_sticky tinyint(4) NOT NULL DEFAULT '0', id_board SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', id_first_msg INT(10) UNSIGNED NOT NULL DEFAULT '0', id_last_msg INT(10) UNSIGNED NOT NULL DEFAULT '0', id_member_started mediumint(8) UNSIGNED NOT NULL DEFAULT '0', id_member_updated mediumint(8) UNSIGNED NOT NULL DEFAULT '0', id_poll mediumint(8) UNSIGNED NOT NULL DEFAULT '0', id_previous_board SMALLINT(5) NOT NULL DEFAULT '0', id_previous_topic mediumint(8) NOT NULL DEFAULT '0', num_replies INT(10) UNSIGNED NOT NULL DEFAULT '0', num_views INT(10) UNSIGNED NOT NULL DEFAULT '0', locked tinyint(4) NOT NULL DEFAULT '0', unapproved_posts SMALLINT(5) NOT NULL DEFAULT '0', approved tinyint(3) NOT NULL DEFAULT '1', PRIMARY KEY (id_topic), UNIQUE last_message (id_last_msg, id_board), UNIQUE first_message (id_first_msg, id_board), UNIQUE poll (id_poll, id_topic), KEY is_sticky (is_sticky), KEY approved (approved), KEY id_board (id_board), KEY member_started (id_member_started, id_board), KEY last_message_sticky (id_board, is_sticky, id_last_msg), KEY board_news (id_board, id_first_msg) ) ENGINE=MyISAM;
Un consejo: Deshágase de las tablas de texto Con frecuencia, al hacer consultas de ordenación (sort), union (join) y otras operaciones, MySQL necesita para crear una tabla temporal. MySQL por lo general trata de crear estos como las tablas de memoria, sin embargo, si la tabla resultante es TEXT o BLOB, es incapaz de hacer esto, en lugar de crearlo como una tabla MyISAM en el disco. Esto puede matar a rendimiento si no se han / tmp montada en la memoria o si tiene un key buffer pequeño. La conversión de las columnas TINYTEXT a VARCHAR (255) es recomendado. Fuente: http://www.simplemachines.org/community/index.php?topic=293441.msg1935333#msg1935333
|
|
|
En línea
|
|
|
|
Chazy Chaz
Desconectado
Mensajes: 65
|
Muchas gracias, voy a ver si lo estudio y me entero un poco del asunto hehe Gracias! salu2 dew
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda para crear un foro
Desarrollo Web
|
Mr.Blue
|
8
|
4,424
|
11 Mayo 2010, 21:59 pm
por Mr.Blue
|
|
|
Como crear secciones para un foro hecho con SMF
Dudas Generales
|
Hatake Kakashi
|
0
|
3,465
|
21 Mayo 2010, 23:51 pm
por Hatake Kakashi
|
|
|
sugerencias para crear tablas en php y mysql
PHP
|
hack-4-life
|
4
|
4,127
|
22 Mayo 2010, 06:50 am
por hack-4-life
|
|
|
Crear Tablas Raibow
Wireless en Linux
|
DeBBuGGeR
|
3
|
8,913
|
18 Febrero 2011, 20:01 pm
por DeBBuGGeR
|
|
|
Pasos para crear un foro?
Desarrollo Web
|
Edu
|
8
|
15,365
|
10 Junio 2011, 01:28 am
por Edu
|
|