繁体   English   中英

PHP从查询中匹配的数据库中获取所有值

[英]php get all the values from database which is matching in query

我是PHP新手。 我的PHP代码有问题。 在MySQL中,我有这样的数据库:

CREATE TABLE IF NOT EXISTS `propertylocator` (
      `store_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `store_name` varchar(255) NOT NULL,
      `country_name` varchar(255) NOT NULL,
      `state_name` varchar(255) NOT NULL,
      `city_name` varchar(255) NOT NULL,
      `address` varchar(255) NOT NULL,
      `description` varchar(255) NOT NULL
      PRIMARY KEY (`store_id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;


    INSERT INTO `propertylocator` (`store_id`, `store_name`,  `country_name`,  `state_name`, `city_name`, `address`, `description`) VALUES
    (1, 'My property1',  'India', 'uttar pradesh',  'Ghaziabad', 'Pilkhuwa, Uttar Pradesh 245304, India', 'this is demo test','this is dummy description'),
    (2, 'My new Property',  'India', 'Maharashtra', 'Thane', 'Kudavali, Maharashtra 421401, India', 'test propery again', 'another dummy property'),
    (3, 'Dummy store', 'United Arab Emirates', 'Sharjah',  'Halwan Suburb', 'Al Ghubaiba - Sharjah - United Arab Emirates', 'this is another dummy store','another text with dummy');

现在,我要显示所有country_nameIndiacity_names 为此,我在phpMyAdmin中做了一个简单的查询,如下所示:

SELECT `city_name` FROM `ps_storelocator` WHERE `country_name`= 'india'

它给我看了两个结果

Ghaziabad
Thane

现在,当我尝试从我的php代码中获取此代码时。 它仅显示一个值。 代码是这样的

$host = "localhost";
$user = "root";
$pass = "";

$databaseName = "stores";
$tableName = "propertylocator";
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$result = mysql_query("SELECT `city_name` FROM `propertylocator` WHERE `country_name`= 'india'");  
$arrayvalue = mysql_fetch_array($result);
print_r($arrayvalue);

现在我得到这样的价值

Array
(
    [0] => Ghaziabad
    [city_name] => Ghaziabad
)

有人可以告诉我如何从数据库中获取这两个值吗? 任何帮助和建议都是非常可取的。

您从数据的第一行获取并显示了数据,这就是您的代码所说的。

如果要显示多行,通常人们会在循环内执行以下操作:

while($arrayvalue = mysql_fetch_array($result))
{
    print_r($arrayvalue);
}

这将在while循环内为从数据库中获取的每一行运行代码。

同样,您(似乎有)对同一数据行有两个条目的原因是您使用的是fetch_array函数-该函数以索引数组和关联数组的形式返回数据。

$result = mysql_query("SELECT city_name FROM ps_storelocator WHERE country_name= 'india'");
while($row = mysql_fetch_array($result))
{ echo $row['city_name'];}

像这样尝试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM