除了php中的第一列之外,如何从mysql数据库中回显第1…n列?
我有一个带有par_id的表和par1-5-1-5列,但我试图让下面的php函数响应任意数量的列除了php中的第一列之外,如何从mysql数据库中回显第1…n列?,php,mysql,Php,Mysql,我有一个带有par_id的表和par1-5-1-5列,但我试图让下面的php函数响应任意数量的列 //-------------------------------------- get about ---------------------------------------------- function getAbout($option){ $div = array(); $sql_st = "undefined"; if($option == "about")
//-------------------------------------- get about ----------------------------------------------
function getAbout($option){
$div = array();
$sql_st = "undefined";
if($option == "about")
$sql_st = "SELECT * FROM `about` where par_id='1'";
// connect to database
mysql_connect($_SESSION['dbSever'],$_SESSION['dbUser'],$_SESSION['dbPass']) or die(mysql_error());
mysql_select_db($_SESSION['tblName']) or die(mysql_error());
$result = mysql_query($sql_st) or die(mysql_error()."<br/>".$sql_st);
$num_rows = mysql_num_rows($result);
while ($row = mysql_fetch_array($result) ){
// not sure what to do here
}
// disconnect
mysql_close();
return $div;
}
一个非常简单的方法是有这样一个标志:
$skippedFirstRow = false;
while ($row = mysql_fetch_array($result)){
if(!$skippedFirstRow) {
//do whatever you want here
}
$skippedFirstRow = true;
}
但是,请记住,这只是一个快速的破解,可以满足您的需求并考虑您的代码,但这不是一个优雅的解决方案。从您的问题标题中,我假设您的第一列中可能有一个ID,并且您希望不打印该ID。您可以尝试以下方法:
$numberOfColumns = mysql_num_fields($result);
while ($row = mysql_fetch_array($result) ){
for ($i = 1; $i < $numberOfColumns; $i++){
echo $row[$i];
}
}
for循环中的$i迭代器是以值1启动的,因为PHP像许多语言数组一样以零为基处理,这意味着第一个元素由$row[0]引用,如本例中所示-通过从1开始循环,并查找数组中的尽可能多的元素,您可以有效地抓取除第一个元素之外的所有元素。。它们不再得到维护。使用或-将帮助您决定使用哪个。如果您选择PDO,谢谢。我会记住的