2016-03-31 9 views
0

私は列データから文字列を削除したい。 しかし、それは失敗しました。データベースから爆発/爆発

enter image description here

<?php 
    $conn = mysql_connect("localhost", "nantawat", "12345678") or die(mysql_error()); 
    $select_db = mysql_select_db("my_db", $conn) or die(mysql_error()); 
    $select_tbl = mysql_query("SELECT * FROM log", $conn); 

    while ($fetch = mysql_fetch_object($select_tbl)) { 
     $r = $fetch->data; 

    $i = explode(",", $r); 

    if (!isset($i[1])) { 
     for ($j = 0; $j <= 200; $j++) { 
      $i[$j] = null; 
     } 
    } 

    $name = $i[0]; 
    $mama = $i[1]; 

    $no = $i[2]; 
    $a = $i[3]; 
    $b = $i[4]; 

    echo $name . "</br>"; 
    echo $mama . $no . $a . $b . "</br>"; 

} 

while ($data = mysql_fetch_object($select_tbl)) { 

    echo $data->data . "<br>"; 
} 

?> 

enter image description here

しかし、私は出力が=

bus 
car 
bike 
aabus 
car 
bike 
aabus 
car 
bike 
aabus 

ddd 
ee 

そして私ではない

お知らせします:オフセット未定義:Cで3:\ xamppの\ htdocs \ logs \新しいフォルダ (2)\ライン上explode.php 21

注意:オフセット不定:C 4:\ XAMPP \ htdocsに\ログラインに新しいフォルダ (2)\ explode.php 22

\ありがとうございました。

+0

mysql_は、代わりに – Nehal

答えて

0

あなたは何をしたいのですか?

あなたはそれを行うデータベースに接続したい:

$conn = mysql_connect("localhost", "nantawat", "12345678") or die(mysql_error()); 

私はあなたがmysqliのライブラリーの代わりにMySQLを使用することをお勧め(mysqlは新しいPHPのバージョンで非推奨と完全にPHP7に削除されます)

$conn = mysqli_connect("localhost", "nantawat", "12345678", "my_db") or die(mysql_error()); 

あなたがそれを行う、logテーブルに照会する:

$select_tbl = mysqli_query($conn, "SELECT * FROM log"); 
while ($row = mysqli_fetch_array($select_tbl)) { 
    echo $row['id_user']; 
    echo $row['id_doc']; 
    echo $row['date']; 
    echo $row['data']; 
} 

は、あなたはそれを行う、その後、データを爆発したい:

while ($row = mysqli_fetch_array($select_tbl)) { 
    echo $row['id_user']; 
    echo $row['id_doc']; 
    echo $row['date']; 
    $data = explode(',', $row['data']); 
    foreach ($data as $d) { 
     if ($d !== '') { // because before first comma or after last can be empty 
      echo $d . PHP_EOL; 
     } 
    } 
} 

あなたは変数で、データベースの結果を保存したい場合:あなたはそれを行う、その後、あなたの結果から情報を取得したい

データベースの一列のみを取得している場合は、直接変数に保存することができます

$id_user = ''; 
$id_doc = ''; 
$date = ''; 
$data = array(); 
id ($row = mysqli_fetch_array($select_tbl)) { 
    $id_user = $row['id_user']; 
    $id_doc = $row['id_doc']; 
    $date = $row['date']; 
    $tempData = explode(',', $row['data']); 
    foreach ($tempData as $d) { 
     if ($d !== '') { 
      $data[] = $d; 
     } 
    } 
} 

そして、あなたは、データベースの複数の行を持っている場合は、アレイ全体でそれらのすべてを保存する必要があります。

echo '<pre>'; 
pront_r($array); 
echo '</pre>'; 
+0

もし私が$ nameのような変数に値を取得したいのであれば; $ lastname;私に例を教えてください – Agaard

0

まず、カンマ区切りの値を単一のセルに格納するのは賢明ではなく、廃止予定のmysql_関数を使用しています。あなたがそれらのためISSETを使用することができ、あなたはまだ変数$名にアクセスしたい場合は

while ($fetch = mysql_fetch_object($select_tbl)) { 
    $r = $fetch->data; 
    $i = explode(",", $r); 
    foreach ($i as $q){ 
     echo $q . '<br/>'; 
    } 
} 

、$ママ、$なしと$ AB:私はあなたのソリューションではなくISSET部のforeachのを使用して見つけることができると思います具体的には

while ($fetch = mysql_fetch_object($select_tbl)) { 
    $r = $fetch->data; 
    $i = explode(",", $r); 
    if (isset($i[0])){ 
     $name = $i[0]; 
     echo $name . '<br>'; //only echo if it exists 
    } 
    if (isset($i[1])){ 
     $mama= $i[1]; 
     echo $mama. '<br>'; //only echo if it exists 
    } 
    //try it yourself for $no and $ab 
} 
+0

mysqli_ *またはPDOを使用してください、私はそれを得る例にしてください – Agaard

+0

を教えてください、ありがとうございました。 – Agaard

0

試してみてください:

$array = array(); 
id ($row = mysqli_fetch_array($select_tbl)) { 
    $id_user = $row['id_user']; 
    $id_doc = $row['id_doc']; 
    $date = $row['date']; 
    $data = array(); 
    $tempData = explode(',', $row['data']); 
    foreach ($tempData as $d) { 
     if ($d !== '') { 
      $data[] = $d; 
     } 
    } 
    $array[] = array(
     'id_user' => $id_user, 
     'id_doc' => $id_doc, 
     'date' => $date, 
     'data' => data, 
    ); 
} 

そして最後に、最終的な配列を持っているものの構造を参照するためにこれを使用私は変数に値を取得したい場合は、*は推奨されません

while ($row = mysqli_fetch_array($select_tbl)) { 
    extract($row); 
    /* Using extract method can get the array key value as variable 
    Below variables are available 
    $id_user; 
    $id_doc; 
    $date; 
    $data; */ 
}