簡體   English   中英

RightMove數組 - 插入列tItles和值MySQL

[英]RightMove Array - Insert column tItles and values MySQL

我非常容易陷入非常容易的事情。 我試圖使用PHP類從解析一個.BLM文件http://kodegeek.wordpress.com/2010/02/20/rightmove-data-parsing-php-class/

Class完美運行並輸出如下數組: -

Array ( [0] => Array ( [AGENT_REF] => _70 [ADDRESS_1] => 123 Main Street [POSTCODE1] => CF12 [POSTCODE2] => 4HY [FEATURE1] => Ideal Location [FEATURE2] => Only £250 per room [FEATURE3] => Three Double Bedrooms ) [2] => Array ( [AGENT_REF] => _83 [ADDRESS_1] => 45 Harriet Street [POSTCODE1] => CF24 [POSTCODE2] => 4BU [FEATURE1] => Modern [FEATURE2] => Laminate Flooring ) )

創建數組后,我想立即將數組插入SQL表中。 理想情況下,這將獲得Field標題,例如。 [AGENT_REF] [ADDRESS_1]並創建列並將數據作為每個數組的新行插入([0] =>數組[2] =>數組)等。

我嘗試了類似這樣的東西和其他許多變化,我似乎無法讓它工作。

function mysql_insert_array($table, $rmdata) {
foreach ($rmdata as $field=>$value) {
 $fields[] = '`' . $field . '`';
 $values[] = "'" . $value . "'";

}
$field_list = join(',', $fields);
$value_list = join(', ', $values);



$query = "INSERT INTO testarray (" . $field_list . ") VALUES (" . $value_list . ")";

您必須在插入之前使用字段列表創建表。 如果您沒有創建表,您可以使用:

$sql = "CREATE TABLE if not exists TABLENAME ( 
    id tinyint(4) unsigned NOT NULL auto_increment, 
    AGENT_REF varchar(80) NOT NULL, 
    ADDRESS_1 varchar(255),
    POSTCODE1 varchar(6),
    POSTCODE2 varchar(6),
    FEATURE1 varchar(255),
    FEATURE2 varchar(255),
    FEATURE3 varchar(255),
    PRIMARY KEY (id) 
    )"; 

mysql_query($sql,$link); 

並在你的功能之后。

<?php

$rmdata = ARRAY();

$rmdata[0]['field1'] = 1;
$rmdata[0]['field2'] = 'two';
$rmdata[0]['field3'] = 3;
$rmdata[0]['field4'] = NULL;
$rmdata[0]['field5'] = 'five';
$rmdata[1] = $rmdata[2] = $rmdata[3] = $rmdata[0];

foreach ($rmdata AS $key => $dummy) {

  $fields = ARRAY();
  $values = ARRAY();

  foreach ($rmdata[$key] as $field=>$value) {
    if (!isset($value)) {
      //$value='';
      // or
      //if($field=='field4') { $value=4; }
      // or $values[] = "NULL";
    }

    if (isset($value)) {
      $fields[] = $field;
      $values[] = "'".$value."'";
    }
  }
  // if (count($fields) > 0)
  echo 'key: '.$key.'<br />';
  $sql_fields = implode(',', $fields);
  $sql_values = implode(',', $values);
  print_r($sql_fields); echo '<br />';
  print_r($sql_values); echo '<hr />';

}    

?>
$rmdata = ARRAY();

$rmdata['field1'] = 1;
$rmdata['field2'] = 'two';
$rmdata['field3'] = 3;
$rmdata['field4'] = NULL;
$rmdata['field5'] = 'five';

$fields = ARRAY();
$values = ARRAY();
foreach ($rmdata as $field=>$value) {
  if (!isset($value)) {
    //$value='';
    // or
    //if($field=='field4') { $value=4; }
    // or $values[] = "NULL";
  }

  if (isset($value)) {
    $fields[] = $field;
    $values[] = "'".$value."'";
  }

}

// if (count($fields) > 0)
$sql_fields = implode(',', $fields);
$sql_values = implode(',', $values);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM