2017-01-18 15 views
0

私は自分のWebサイトからいくつかの値を精緻化するためにforeachを持っており、mysqlデータベースにそれらを挿入したいと思います。MySqlデータベースに配列を挿入する方法

私の問題は、私がこのケースでそれらをどのように扱うかわからないので、配列があるところです。

これは私のコードです:私はこれを実行すると

... 

$titles = $html->find("a[class=in-match]"); // 1 per match 
$result = $html->find("td[class=h-text-center]/a"); // 1 
$best_bets = $html->find("td[class=table-matches__odds colored]/span/span/span"); // 1 
$odds = $html->find("td[class=table-matches__odds]"); // 2 

function print_odd($odd) { 
    if (array_key_exists('data-odd', $odd->attr)) { 
     return $odd->attr['data-odd']; 
    } 

    return $odd->children(0)->children(0)->children(0)->attr['data-odd']; 
} 

$c=0; $b=0; $o=0; $z=0; // two counters 
foreach ($titles as $match) { 
    list($num1, $num2) = explode(':', $result[$c++]->innertext); // <- explode 
    $num1 = intval($num1); 
    $num2 = intval($num2); 
    $num3 = ($num1 + $num2); 
    if ($num3 > 1) { 
     $over15 = "OK"; 
    } else { 
     $over15 = "NO"; 
    } 

    echo "<tr><td class='rtitle'>". 
     "<td class='first-cell'>".$match->innertext."</td> ".    
     "<td>".$match->innertext."</td><td> ".$num1.'</td><td> : </td><td>'.$num2 . "/" . // <- example use 
     "<td class='first-cell'>".$num3 ."</td> " . 
     "<td class='first-cell'>".$over15 ."</td> " . 
     "<td class='odds'>".print_odd($odds[$b++]) . ";" . 
      "".print_odd($odds[$b++]) . ";" . 
      "".print_odd($odds[$b++]) . "</td>" . 
      "</td></tr><br/>"; 


    $servername = "xx.xxx.xxx.xxx"; 
    $username = "xxx"; 
    $password = "xxx"; 
    $dbname = "xxxxxxxx"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "INSERT INTO risultati (titles, scorehome, scoreaway, best_bets) 
    VALUES ('$match', '$num1', '$num2', '$odds');"; 

    if ($conn->multi_query($sql) === TRUE) { 
     echo "New records created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 
    $conn->close(); 

、私は

だからあなたの注意のために

EDITをありがとう3 "$オッズ" ことを得ることはありません、私はコードでほぼすべてのデータを保存しましたが、$ odds(私のprint_odd関数を見ることができます)に問題があります。どのようにそれらを救うことができますか?

+0

おかげで...概念を試してみてください。 http://stackoverflow.com/questions/10054633/insert-array-into-mysql-database-with-php – coder

+0

[PHPでMySQLデータベースに配列を挿入]の可能な複製(http://stackoverflow.com/questions/10054633)/insert-array-into-mysql-database-with-php) – lewkka

+0

代わりにjson形式で保存してみませんか?後でフィールドを後で簡単にフェッチし、jsonでデコードして配列を取得することができます。 –

答えて

0

は、このリンクはあなたを助けるべき

$columns = implode(", ",array_keys($insData)); 
$escaped_values = array_map('mysql_real_escape_string', array_values($insData)); 
$values = implode(", ", $escaped_values); 
$sql = "INSERT INTO `fbdata`($columns) VALUES ($values)"; 
+0

私は試みましたが、多分私の場合に適用する方法を取得していない...あなたが私に例を与えてくれますか? – James69

+0

私の質問を編集しました。 – James69

関連する問題