簡體   English   中英

在多個表中檢索mysql數據

[英]mysql data retrieving in multiple tables

我有一個名為category的表,它包含2列(id主鍵,項目)

與項目的名稱,我有另一個表

我使用foreach循環獲取類別表中的數據,

在該循環中,每個項目都有一個表格。 我試圖檢索這些數據,但僅得到一個表數據。

這是我的代碼:

$con=mysql_connect('localhost','root','');
$db="testing";
$a=mysql_select_db($db,$con);
$c=mysql_query("select * from category");
$d=mysql_fetch_array($c);
mysql_data_seek($c,0);
foreach($d as $x)
{ 
    echo $x['item']." ";
    $e=mysql_query("select * from ".$x['item']);

        if($e)
        {
            $f=mysql_fetch_array(mysql_query("select * from ".$x['item']));
            mysql_data_seek($e,0);
            foreach($f as $y)
            { 
                echo $y['price']." ".$y['Quantity'];
            }
        }
        else continue;//break;
} 

我已盡力了解您的帖子內容。 另外,從PHP 5.5.0開始不推薦使用mysql。 您應該改用mysqli。 我的答案是同時使用mysqli和mysql完成的。

結果:

Item - car
Price: 29000.00 Quantity: 5
Price: 18000.00 Quantity: 6
Item - house
Price: 50000.00 Quantity: 4

源代碼-使用mysqli:

$con=mysqli_connect('localhost','root','');
$db="testing";
$a=mysqli_select_db($con, $db);
$c=mysqli_query($con,"select * from category");
while($x = mysqli_fetch_array($c)){
    echo "Item - ".$x['item']."<br/>";
        $e=mysqli_query($con,"select * from ".$x['item']);
        if($e)
        {
            while($y = mysqli_fetch_array($e)){
                echo "Price: ".$y['price']." Quantity: ".$y['Quantity']."<br/>";
            }       
        }
        else continue;//break;  
}

源代碼-使用mysql:

$con=mysql_connect('localhost','root','');
$db="testing";
$a=mysql_select_db($db, $con);
$c=mysql_query("select * from category");
while($x = mysql_fetch_array($c)){

    echo "Item - ".$x['item']."<br/>";
        $e=mysql_query("select * from ".$x['item']);
        if($e)
        {
            while($y = mysql_fetch_array($e)){
                echo "Price: ".$y['price']." Quantity: ".$y['Quantity']."<br/>";
            }       
        }
        else continue;//break;  
}

SQL轉儲:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `testing`
--

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

--
-- Table structure for table `car`
--

CREATE TABLE IF NOT EXISTS `car` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `price` decimal(10,2) NOT NULL,
  `Quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Dumping data for table `car`
--

INSERT INTO `car` (`id`, `price`, `Quantity`) VALUES
(5, 29000.00, 5),
(6, 18000.00, 6);

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

--
-- Table structure for table `category`
--

CREATE TABLE IF NOT EXISTS `category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `item` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `category`
--

INSERT INTO `category` (`id`, `item`) VALUES
(1, 'car'),
(2, 'house');

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

--
-- Table structure for table `house`
--

CREATE TABLE IF NOT EXISTS `house` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `price` decimal(10,2) NOT NULL,
  `Quantity` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `house`
--

INSERT INTO `house` (`id`, `price`, `Quantity`) VALUES
(2, 50000.00, 4);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM