Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание базы данных 
V
    Опции темы
GodEatGod
Дата 8.8.2007, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 15.6.2007

Репутация: нет
Всего: 1



Код

<?php
include "config.php";
$checkbox_max=20; 
for ($i=1; $i<=$checkbox_max; $i++) 
{
$sql_ar []="answer".$i;  

}
$values=implode (" INT( 2 ),", $sql_ar); 
echo "$values";

$sql="CREATE TABLE 'opros2' ( 'id' INT( 2 ) NOT NULL AUTO_INCREMENT, '".$values."', PRIMARY KEY( 'id' ))" or die (mysql_error());
$result = mysql_query($sql);
?>


как создать таблицу?
я пробовала 

("' INT( 2 ),'", $sql_ar); 
тогда на экран выводится: 
answer1' INT( 2 ),'answer2' INT( 2 ),'answer3' INT( 2 ),'answer4' INT( 2 ), и.т.д
соотвественно answer1 (без открывающейся) и answer200 (без закр.) кавычек.

Это сообщение отредактировал(а) GodEatGod - 8.8.2007, 08:37
PM MAIL   Вверх
Severyanin
Дата 8.8.2007, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Так, если я правильно понял, "answer".$i - это строки, а Вы пытаетесь их записать в столбцы типа int. попробуйте varchar нужной длины. smile

Добавлено через 42 секунды
Ошибка не в коде php, а в SQL-запросе


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
GodEatGod
Дата 8.8.2007, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 15.6.2007

Репутация: нет
Всего: 1



Цитата(Severyanin @ 8.8.2007,  08:45)
Так, если я правильно понял, "answer".$i - это строки, а Вы пытаетесь их записать в столбцы типа int. 


"answer".$i -это названия столбцов.
таблица должна выглядеть след. образом
id int(2);
answer1 int(2);
answer2 int(2);
answer3 int(2);
answer4 int(2);
answer5 int(2);
и.т.д

PM MAIL   Вверх
Severyanin
Дата 8.8.2007, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



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


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
GodEatGod
Дата 8.8.2007, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 15.6.2007

Репутация: нет
Всего: 1



как вариант
Код

$sql_ar []="'answer".$i."'";   

как в таком случае должен выглядеть запрос?

Это сообщение отредактировал(а) GodEatGod - 8.8.2007, 09:27
PM MAIL   Вверх
Severyanin
Дата 8.8.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Запрос, видимо, так же. Только кавычки лучше добавлять не в цикле, а после него.
Код

$some_var="\"".$values."\"";

И просто вставляете $some_var вместо $values. Должно работать


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
GodEatGod
Дата 8.8.2007, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 15.6.2007

Репутация: нет
Всего: 1



 smile 
Код

<?php  
include "config.php";  
$checkbox_max=20;   
for ($i=1; $i<=$checkbox_max; $i++)   
{  
$sql_ar []="answer".$i.' '."INT( 2 )";    

}  
$values=implode (",", $sql_ar);   

echo "$values";  

$sql="CREATE TABLE opros2 ( id INT( 2 ) NOT NULL AUTO_INCREMENT, ".$values.", PRIMARY KEY( id ))" or die (mysql_error());  
$result = mysql_query($sql);  
?>   

кавычки не нужны.
PM MAIL   Вверх
Severyanin
Дата 8.8.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



то же самое smile 


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1115 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.