私はテーブル名がads
そのようなものを持っています:
id ad_country ad_gender ad_birthday
1 05 01 2012-02-26
2 15 02 2011-05-29
3 78 02 2010-04-12
そしてそのようなテーブルfield_values
:
fieldid fieldtitle fieldvalue
14 Male 01 // ads.ad_gender = field_values.fieldvalue
14 Female 02 //ads.ad_country = field_values.fieldvalue
13 Afghanistan 03
13 Albania 04
13 Algeria 05
... ... ...
とコード:
session_start();
if (isset($_POST['country'])){
$country = $_POST['country'];
$_SESSION['country'] = $_POST['country'];
}
if (isset($_POST['year'])){
$year = $_POST['year'];
$_SESSION['year'] = $_POST['year'];
}
と私は2つのドロップダウン選択オプションがあります
1つは、国のオプションを選択することです。
<form action="" id="countryform" method="post">
<select id="country" name ="country" size="1" class="select" onchange="this.form.submit();;" >
<option value="0" >Please Select a Country</option>
<?php
$sql = mysql_query ("SELECT * FROM field_values WHERE fieldid = 13 GROUP BY fieldtitle ");
while ($row = mysql_fetch_array($sql) ){
?>
<option value="<?php echo $row['fieldtitle'] ;?>" <?php
if ($country == $row['fieldtitle']) { echo " selected='selected'"; } ?> > <?php echo $row['fieldtitle'] ;?>
</option>
<?php } ?>
</select>
<input type="hidden" name="hiddenselect" value="<?php echo $country; ?>" />
</form>
1つは、年のオプションを選択することです。
<form action="" id="yearform" method="post">
<select id="year" name ="year" size="1" class="select" onchange="this.form.submit();;" >
<option value="0" >Please Select the Year</option>
<?php
$sql6 = mysql_query("SELECT ad_birthday,(substr(ad_birthday , 1, 4)) AS year FROM ads GROUP BY year ") ;
while ($row6 = mysql_fetch_array($sql6) ){
?>
<option value="<?php echo $row6['year'] ;?>" <?php
if ($year == $row6['year']) { echo " selected='selected'"; } ?> > <?php echo $row6['year'] ;?>
</option>
<?php } ?>
</select>
<input type="hidden" name="hiddenselect" value="<?php echo $year; ?>" />
</form>
エコー部分は次のとおりです。
$sql2 = mysql_query("SELECT COUNT(ad_gender) AS male FROM ads INNER JOIN field_values ON field_values.fieldvalue = ads.ad_country WHERE '".$_POST['country']."' = field_values.fieldtitle AND ad_gender = 01 ");
$row2 = mysql_fetch_array($sql2) ;
$sql3 = mysql_query("SELECT COUNT(ad_gender) AS female FROM ads INNER JOIN field_values ON field_values.fieldvalue = ads.ad_country WHERE '".$_POST['country']."' = field_values.fieldtitle AND ad_gender = 02 ");
$row3 = mysql_fetch_array($sql3) ;
echo "There are ".$row2['male']." male <br />";
echo "There are ".$row3['female']." female<br />";
しかし、私はそれを回避することができませんでした、私はissetステートメントの場合に何かが欠けていると思います。
私が欲しいのは:
国と年を選択すると、この国と今年までに男性と女性の数が反映されます。あなたの時間のためのthx