2016-07-28 4 views
0

나는 데이터베이스와 csv 파일에서 데이터를 보여주고 싶습니다.어떻게하면 PHP에서 CSP 파일을 볼 수 있습니까?

syntax error, unexpected '$f' (T_VARIABLE), expecting function (T_FUNCTION) in D:\xampp\htdocs\factory\4.php on line 71

코드 :

<?php 
 
interface IDatabase { 
 
    function connect(); 
 
\t function readCSV(); 
 
} 
 

 

 
class Db implements IDatabase 
 
{ 
 
    private $connection; 
 
    private static $instance; 
 

 
    private function __construct() 
 
    { 
 
     $host = "localhost"; 
 
     $user = "root"; 
 
     $pass = ""; 
 
     $name = "cart"; 
 

 
     $this->connection = new mysqli($host, $user, $pass, $name); 
 
    
 
    if(mysqli_connect_error()) { 
 
\t \t \t trigger_error("Failed to conencto to MySQL: " . mysqli_connect_error(), 
 
\t \t \t \t E_USER_ERROR); 
 
\t \t } 
 

 
    } 
 

 
    public function connect() 
 
    { 
 
     if (self::$instance == null) { \t \t \t 
 
      self::$instance = new Db(); 
 
     } 
 

 
     return self::$instance; 
 
    } 
 

 
    public function query($sql) 
 
    { 
 
     $result = $this->connection->query($sql); 
 
     $records = array(); 
 
     while ($row = $result->fetch_assoc()) { 
 
      $records[] = $row; 
 
     } 
 
     return $records; 
 
    } 
 
} 
 

 

 
$db1 = Db::connect(); 
 

 

 

 

 

 
$query = $db1->query("SELECT * FROM user_info"); 
 
foreach($query as $row=>$val) 
 
{ echo '<tr>'; 
 
       echo '<td>'.$val['id'].'</td>'; 
 
       echo '<td>'.$val['username'].'</td>'; 
 
       echo '<td>'.$val['email'].'</td>'; 
 
\t \t \t \t echo '<td>'.$val['password'].'</td>'; 
 
\t \t \t \t echo '</tr>'; 
 
} \t \t \t \t 
 

 
class csv implements IDatabase{ 
 
public function readCSV($f){fclose($f);} 
 

 

 

 
$f = fopen("http://localhost/csv/cr.csv", "r"); 
 
while (($line = fgetcsv($f)) !== false) { 
 
     echo "<tr>"; 
 
\t \t $data = count($line); 
 
     foreach ($line as $cell) { 
 
       echo "<td>" . htmlspecialchars($cell) . "</td>"; 
 
     } 
 
     echo "</tr>\n"; 
 
} 
 

 
?>

답변

1

나는 오류 따르고 거기에 내가 데이터베이스 및 CSV 모두에서하지만 CSV 기능의 데이터를 보여 PHP에 죄송 사용하고 있습니다 * 그것이 말하는 것처럼, 구문 오류가 있습니다. 클래스에서는 함수를 호출하여 멤버 변수를 할당 할 수 없습니다. 또한 클래스에서 while 문을 직접 시작할 수는 없으며 메서드의 작업입니다. 여기

더 당신이

class Csv { 
    private $_file; 

    public function __construct($path) { 
      $this->_file = fopen($path, "r"); 
    } 

    public function closeCsv() 
    { 
      fclose($this->_file); 
    } 

    public function readCsv() { 
     // I strongly recommend not echoing out here. This should just return the content 
     return fgetcsv($this->_file) 
    } 
} 

을 필요 같은 것입니다 그리고 당신은 다음 코드 밤은 테스트

<?php 
    $csv = new Csv("/path/to/file.csv"); 
    while (($line = $csv->readCsv()) !== false) { 
     //Do what you wanna do 
    } 

    //When done, close it 
    $csv->closeCsv() 

처럼 사용합니다,하지만 난 당신이 포인트를 얻을 생각합니다. 그렇지 않은 경우 OOP에 대해 자세히 알아보기. 예 : 여기에서 http://code.tutsplus.com/tutorials/object-oriented-php-for-beginners--net-12762

관련 문제