0

私は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');

city_namesここで、が であるcountry_nameすべてを表示したいと思いIndiaます。そのために、phpMyAdmin で次のような簡単なクエリを作成しました。

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

2つの結果が表示されました

Ghaziabad
Thane

これをphpコードから取得しようとしたとき。1つの値のみを示しました。コードはこんな感じでした

$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
)

データベースからこれら2つの値を取得する方法を教えてもらえますか? どんな助けや提案も本当に価値があります。

4

2 に答える 2

1

データの最初の行を取得して表示しました。これがコードの記述です。

複数の行を表示したい場合は、通常、次のようなループ内で行います。

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

これにより、データベースからフェッチされる行ごとに while ループ内でコードが実行されます。

また、データの同じ行に 2 つのエントリがある (あるように見える) 理由は、fetch_array 関数を使用しているためです。これは、インデックス付き配列と連想配列の両方でデータを返します。

于 2013-09-05T12:02:05.660 に答える
0
$result = mysql_query("SELECT city_name FROM ps_storelocator WHERE country_name= 'india'");
while($row = mysql_fetch_array($result))
{ echo $row['city_name'];}

このようにしてみてください..

于 2013-09-05T12:04:06.417 に答える