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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Непростой запрос, помогите пожалуйста!!!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Нужен запрос который работает с полями из разных таблиц
Digidie
Отправлено: 21 Февраля, 2012 - 06:42:58
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




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

Помогите пожалуйста, подскажите! :-o
 
 Top
oxoTHuk
Отправлено: 21 Февраля, 2012 - 07:35:56
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Если я правильно понял, тебе нужен inner join
 
 Top
Dezmont
Отправлено: 21 Февраля, 2012 - 08:02:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


Помог: 1 раз(а)




SELECT вы можете делать, как вам и сказали, с помощью INNER JOIN или обычного WHERE. Разницы практически никакой в вашем случае. Если хотите готовый запрос, приводите таблицы.
Для вставки используйте конструкцию INSERT [dot][dot][dot] SELECT
 
 Top
Digidie
Отправлено: 21 Февраля, 2012 - 08:37:58
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




есть 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) - количество просмотров.
Надеюсь суть проблемы понятна. Для большей ясности могу выложить код, всё написано в одном файле.
 
 Top
snikers987
Отправлено: 21 Февраля, 2012 - 08:47:05
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




А зачем плодить вопросы в двух таблицах? Достатгчно записать id нужного вопроса..


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Digidie
Отправлено: 21 Февраля, 2012 - 09:54:15
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




мне нужно так чтобы вопросы хранились в базе в отдельной таблице. А как сделать так чтобы моя проблема разрешилась бошку ломаю. Вот код:

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, 'Как по вашему,нужно ли платить стажеру?');

(Отредактировано автором: 21 Февраля, 2012 - 09:58:30)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB