Php 在数组中存储列值
我试图将事件的标题(摘要)和日期(创建)存储在数组中。但是我觉得我的循环中遗漏了一些东西Php 在数组中存储列值,php,mysql,Php,Mysql,我试图将事件的标题(摘要)和日期(创建)存储在数组中。但是我觉得我的循环中遗漏了一些东西 <?php $summary = array(); $date = array(); mysql_connect('mysql.server', 'myUsername', 'myPass') or die('Could not connect: ' . mysql_error()); mysql_select_db("mxgsite") or die(mysql_error()); $query_
<?php
$summary = array();
$date = array();
mysql_connect('mysql.server', 'myUsername', 'myPass') or die('Could not connect: ' . mysql_error());
mysql_select_db("mxgsite") or die(mysql_error());
$query_summary = mysql_query('SELECT summary FROM event_info') or die(mysql_error());
$query_date = mysql_query('SELECT created FROM event_details') or die(mysql_error());
$row_summary = mysql_fetch_array($query_summary);
$row_date = mysql_fetch_array($query_date);
$i = 0;
while(($row1 = mysql_fetch_array($query_summary))) {
$row2 = mysql_fetch_array($query_date);
$summary[] = $row['summary'];
$date[] = $row['created'];
echo $summary[$i] . " " . $date[$i] . "<br ?>";
$i++;
}
在我看来,你在这里做的事情太多了。由于这两组值不是以相互关联/链接的方式存储的,因此您最好在单独的while循环中处理它们。试着这样做:
while ($row = mysql_fetch_array($query_summary)){
$summary[] = $row[0];
}
while ($row = mysql_fetch_array($query_date)){
$date[] = $row[0];
}
如果您想根据上面的注释关联这些表,您可以尝试以下方法:
$result = mysql_query('SELECT a.eventid, a.summary, b.created
FROM event_info a
join event_details b
on a.eventid = b.eventid');
$events = array();
while ($row = mysql_fetch_array($result)){
$event = array();
foreach ($row as $key=>$value){
$event[$key]=$value;
}
$events[] = $event;
}
在我看来,你在这里做的事情太多了。由于这两组值不是以相互关联/链接的方式存储的,因此您最好在单独的while循环中处理它们。试着这样做:
while ($row = mysql_fetch_array($query_summary)){
$summary[] = $row[0];
}
while ($row = mysql_fetch_array($query_date)){
$date[] = $row[0];
}
如果您想根据上面的注释关联这些表,您可以尝试以下方法:
$result = mysql_query('SELECT a.eventid, a.summary, b.created
FROM event_info a
join event_details b
on a.eventid = b.eventid');
$events = array();
while ($row = mysql_fetch_array($result)){
$event = array();
foreach ($row as $key=>$value){
$event[$key]=$value;
}
$events[] = $event;
}
我认为您更大的问题是,无法保证事件信息
表中的x行与事件细节
表中的x行有任何关系,不是吗?他们使用事件id作为共享密钥?同意deceze。如果这两个表可以通过一个“eventid”或类似的属性进行关联,那么最好在一个查询中进行连接并获取摘要和创建。这样,您就可以将它们作为链接对进行存储和处理。@不过,您并没有在查询中的任何地方使用该事件\u id
,所以您只会得到随机行。:S我将不得不搜索连接。不过,我希望将它们放在两个单独的数组中。我认为更大的问题是,无法保证事件信息表中的x行与事件细节表中的x行有任何关系,不是吗?他们使用事件id作为共享键?同意deceze的说法。如果这两个表可以通过一个“eventid”或类似的属性进行关联,那么最好在一个查询中进行连接并获取摘要和创建。这样,您就可以将它们作为链接对进行存储和处理。@不过,您并没有在查询中的任何地方使用该事件\u id
,所以您只会得到随机行。:S我将不得不搜索连接。我希望他们在2个独立的数组中,除了内部循环。您只是将一个数组复制到另一个数组中,这是不必要的。您只是将一个数组复制到另一个数组中,这是不必要的。