PHP SQL - 按国家/地区排序

时间:2015-06-08 11:12:05

标签: php mysql sorting if-statement country

所以,我一直在处理我正在研究的学校项目的一些问题。我有一个烹饪比赛的参与者名单。 5个不同的国家中有4个,如果没有选择国家,我希望能够按国家对参赛者进行排序或全部展示。

我使用protected void Checkbox1_CheckedChanged(object sender, EventArgs e) { If (Checkbox1.Checked) DropDownList1.SelectedValue = "1"; else DropDownList1.SelectedValue = "0"; } 使用if/else语句,但成效有限。

$_GET

我点击其中一个链接以获取国家/地区名称(例如if(isset($_GET['country'])){ $sqlCountry = "SELECT * FROM countries WHERE country_name = ".$_GET['country']; }else{ $sqlCountry = "SELECT * FROM countires"; } $queryCountry = mysqli_query($db,$sqlCountry ); $count = 1; while($resCountry=mysqli_fetch_array($queryCountry )){ if(isset($_GET['land'])){ $country= $_GET['country']; }else{ $country= $resCountry['country_navn']; } $sql_Cont = "SELECT * FROM contestants WHERE cont_country='$country'"; $query_Cont = mysqli_query($db,$sql_Cont ); echo '<div class="mod12 mod_gen no-margin"> <h2>'.$resCountry['land_navn'].'</h2>'; while($res_Cont=mysqli_fetch_array($query_Cont )){ $count++; if($count % 2){ $right = ''; }else{ $right = 'right'; } echo '<div class="mod6 mod_gen '.$right.'"> <div class="venstre"> <img src="images/placeholder.jpg"> </div> <div class="hoejre"> <h3>'.$res_Cont['cont_name'].'</h3> <h5>'.$res_Cont['cont_workplace'].' - '.$res_Cont['del_home_city'].'</h5> <br> <p>Speciality: '.$res_Cont['cont_speciality'].'<br><br> '.nl2br($res_Cont['cont_text']).'</p> </div> </div>'; } echo '</div>'; ),一切正常。之后我会给我一个index.php?page=2&country=Denmark期望参数为1,布尔给定错误。

在我看来,这应该有效。

任何帮助appriciated。 最好的祝福 〜Barakna

1 个答案:

答案 0 :(得分:1)

根据您的问题,您的错误是

  

一切正常...... fetch_array期望参数为1,

您必须更改查询。而不是你的查询

$sqlCountry = "SELECT * FROM countries WHERE country_name = ".$_GET['country'];

您的查询变量在引号和表名称以及反引号中的字段名称中。还可以使用mysqli_real_escape_string来阻止sql注入

$country = mysqli_real_escape_string($db, $_GET['country']);

$sqlCountry = "SELECT * FROM `countries` WHERE `country_name` ='".$country."'";