Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Непростой запрос, помогите пожалуйста!!!
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Непростой запрос, помогите пожалуйста!!!

Страниц (1): [1]
 

1. Digidie - 21 Февраля, 2012 - 06:42:58 - перейти к сообщению
Доброго времени суток! Проблема такая, есть база данных, в ней 2 таблицы vopros и otvet. Нужно сформировать запрос таким образом чтобы поля выводились из двух таблиц и вставляли значение из одной таблицы в другую. Что вроде:
$result = mysql_query("SELECT * FROM otvet и поле из таблицы vopros ") и дальше нужно сделать так чтобы можно было в этом же запросе вытащить содержимое из таблицы vopros.
Так же и со вставкой:
$result2 = mysql_query("INSERT INTO otvet () VALUES ('') и из таблицы vopros вставить поле=>$поле")

Помогите пожалуйста, подскажите! :-o
2. oxoTHuk - 21 Февраля, 2012 - 07:35:56 - перейти к сообщению
Если я правильно понял, тебе нужен inner join
3. Dezmont - 21 Февраля, 2012 - 08:02:36 - перейти к сообщению
SELECT вы можете делать, как вам и сказали, с помощью INNER JOIN или обычного WHERE. Разницы практически никакой в вашем случае. Если хотите готовый запрос, приводите таблицы.
Для вставки используйте конструкцию INSERT [dot][dot][dot] SELECT
4. Digidie - 21 Февраля, 2012 - 08:37:58 - перейти к сообщению
есть 2 таблицы:
vopros:
id - (int) auto_increment, первичный ключ.
question - (varchar(255))
otvet:
id - (int) auto_increment, первичный ключ.
question - (varchar(255)) - нужно для того чтобы из поля question таблицы vopros значение вставлялось сюда.Если что то не так поправьте.
responce - (text)
ip - (varchar(100))
view - (int) - количество просмотров.
Надеюсь суть проблемы понятна. Для большей ясности могу выложить код, всё написано в одном файле.
5. snikers987 - 21 Февраля, 2012 - 08:47:05 - перейти к сообщению
А зачем плодить вопросы в двух таблицах? Достатгчно записать id нужного вопроса..
6. Digidie - 21 Февраля, 2012 - 09:54:15 - перейти к сообщению
мне нужно так чтобы вопросы хранились в базе в отдельной таблице. А как сделать так чтобы моя проблема разрешилась бошку ломаю. Вот код:

index.php

<?php
$db = mysql_connect("localhost","motvei","123456");
mysql_select_db("golos",$db);

$result = mysql_query("SELECT question FROM vopros ORDER BY rand() LIMIT 1");
$myrow = mysql_fetch_array($result);

if (isset($_POST['id'])) { $id = $_POST['id']; }
if (isset($_POST['responce'])) { $responce = $_POST['responce']; }
if (isset($_POST['ip'])) { $ip = $_POST['ip']; }
if (isset($_POST['view'])) { $view = $_POST['view']; }
if (isset($_POST['question'])) { $question = $_POST['question']; }

if ($_REQUEST['submit'])
{
if (strlen($responce) <=0 or strlen($responce) < 3) { echo "<p style='color:red;'>Вы не заполнили поле либо ввели менее 3-х символов</p>"; }
else {
$ip = $_SERVER['REMOTE_ADDR'];
$result2 = mysql_query("INSERT INTO otvet (responce,ip,view) VALUES ('$responce','$ip','$view')");

if ($result2 == 'true')
{ echo "<p style='color:green; font-weight:bold;'>Ваш ответ понятен!</p>"; }
}
}
if ($result2 == 'true')
{
$result3 = mysql_query("SELECT * FROM otvet",$db);
$myrow3 = mysql_fetch_array($result3);

echo " <fieldset><legend> ";
echo " <p><b>Ваш IP:</b> $ip</p> ";
echo "<p><b>Вопрос был:</b> $question</p>";
echo "<p><b>Ваш ответ:</b> <u>$responce</u></p>";
echo "<p><b>На данный вопрос ответило:</b>$view человек(а)</p>";
echo " </legend></fieldset> ";
}
?>
<html>
<head>
<title>Тест</title>
</head>
<body>
<p><? echo $myrow['question']; ?></p>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">
<textarea cols="40" rows="5" name="responce" id="responce"></textarea>
<input type="hidden" name="ip" value="ip">
<p><input type="submit" name="submit" value="Ответить"></p>
</body>
</html>
Мне надо вопрос вывести в echo "<p>Ваш вопрос: $question</p>";

SQL:
-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin[dot]net
--
-- Host: localhost
-- Generation Time: Feb 21, 2012 at 01:57 PM
-- Server version: 5.1.40
-- PHP Version: 5.3.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `golos`
--

-- -------------------------------- ------------------------

--
-- Table structure for table `otvet`
--

CREATE TABLE IF NOT EXISTS `otvet` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`question` int(3) NOT NULL,
`responce` text NOT NULL,
`ip` varchar(100) NOT NULL,
`view` int(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `otvet`
--


-- -------------------------------- ------------------------

--
-- Table structure for table `vopros`
--

CREATE TABLE IF NOT EXISTS `vopros` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`question` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `vopros`
--

INSERT INTO `vopros` (`id`, `question`) VALUES
(1, 'Как вы считаете,стоит ли брать на работу стажеров?'),
(2, 'Как по вашему,нужно ли платить стажеру?');

 

Powered by ExBB FM 1.0 RC1