Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组中存储列值_Php_Mysql - Fatal编程技术网

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个独立的数组中,除了内部循环。您只是将一个数组复制到另一个数组中,这是不必要的。您只是将一个数组复制到另一个数组中,这是不必要的。