Php 迭代获取的SQL数据

Php 迭代获取的SQL数据,php,Php,我正在向我的活动网站添加一个数据库,每个网页都有自己的SQL表。每个页面可以有任意数量的事件。该表有6列(ID、名称、俱乐部、位置、主持人、说明)。目前我正在使用一种讨厌的方法来调用数据。我正在寻找代码中的一个附加项,以便调用数据更加自动化。我的代码到目前为止 类似的东西可能会有所帮助 首先创建一个包含一周中几天的数组,然后在foreach中循环遍历该数组,并每天对数据库执行查询。在本例中,我将每天的结果存储在一个数组中,以日期名称作为键(未测试,但希望它会有所帮助) $dbhost='loc

我正在向我的活动网站添加一个数据库,每个网页都有自己的SQL表。每个页面可以有任意数量的事件。该表有6列(ID、名称、俱乐部、位置、主持人、说明)。目前我正在使用一种讨厌的方法来调用数据。我正在寻找代码中的一个附加项,以便调用数据更加自动化。我的代码到目前为止


类似的东西可能会有所帮助

首先创建一个包含一周中几天的数组,然后在foreach中循环遍历该数组,并每天对数据库执行查询。在本例中,我将每天的结果存储在一个数组中,以日期名称作为键(未测试,但希望它会有所帮助)

$dbhost='localhost';
$dbname='events';
$dbuser='max';
$dbpass='';
$appname=“Dundaah”;
$connection=newmysqli($dbhost、$dbuser、$dbpass、$dbname);
如果($connection->connect\u error)死亡($connection->connect\u error);
$daysOfTheWeek=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”];
$resultsFromDB=[];
foreach($daysOfTheWeek作为$day){
$query=“从事件中选择*,其中日期='$day';
$result=$connection->query($query);
$resultsFromDB[$day]=$result->fetch_all(MYSQLI_ASSOC);
}
//在页面中显示结果
呼应“事件”;
foreach($daysOfTheWeek作为$day){
回音“$day”;
foreach($resultsFromDB[$day]作为$event){
echo$event['name'];
}
}

您可以在sql语句中使用
获取具有多个不同ID的行

  $row = queryMysql("SELECT * FROM monday WHERE ID IN (1, 2) ORDER BY ID ASC");
  $one = $row->fetch_assoc(); // same as fetch_array( MYSQLI_ASSOC )
  $two = $row2->fetch_assoc();
ORDER BY ID ASC
如果您希望以
ID=1(最小ID)的行形式获取第一行,则需要该命令,如果没有它,mysql(以及任何其他数据库)不保证任何命令

如果需要(例如)id小于1000的所有行。您可以使用“less或equal”比较并将所有行保存到数组中

  $result = queryMysql("SELECT * FROM monday WHERE ID<=1000 ORDER BY ID ASC");
  $all_rows = $result->fetch_all( MYSQLI_ASSOC );

  // then
  //$one = $all_rows[0];
  //$two = $all_rows[1];
$result=queryMysql(“从ID得到它的星期一开始选择*”

$query=“SELECT*FROM events WHERE day='mon'”;
$result=$conn->query($query);
如果(!$result)死亡($conn->error);
$rows=$result->num_行;
$j=0;
$name_数组=“”;
$club_数组=“”;
$location_数组=“”;
$host_数组=“”;
$description_数组=“”;
而($j<$rows)
{
$result->data\u seek($j);
$row=$result->获取数组(MYSQLI\u ASSOC);
$event_name=$row['name'];
$event_club=$row['club'];
$event_location=$row['location'];
$event_host=$row['host'];
$event_description=$row['description'];
$name\u数组[]=$event\u name;
$club_array[]=$event_club;
$location\u array[]=$event\u location;
$host\u array[]=$event\u host;
$description\u array[]=$event\u description;
++$j;

}
首先,您不会每天都有一个数据库表,而是有一个列标记为“day”的表,该列的值为day。然后,您将以day=Monday查询该表中的所有行。确实,感谢您的添加。然而,一天可以有许多事件,将其作为每个月的表将更容易这里至少有4个星期一。您将为每个弱者创建单独的数据库?我已经更新了使用fetch_all()的代码,很抱歉,我已经有一段时间没有使用ORM了。
  $result = queryMysql("SELECT * FROM monday WHERE ID<=1000 ORDER BY ID ASC");
  $all_rows = $result->fetch_all( MYSQLI_ASSOC );

  // then
  //$one = $all_rows[0];
  //$two = $all_rows[1];