簡體   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