2011-04-26 5 views
0

가사 웹 사이트의 재생 목록 섹션을 만들고 싶습니다.내 재생 목록에 대한 다차원 배열을 만드는 방법은 무엇입니까?

트랙 목록을 만들려면 다차원 배열이 가장 좋은 방법입니까? 내 MD 배열에는 노래이고 다른 하나는 아티스트입니다. JS를 사용하여 동적으로 텍스트 상자를 만들 수 있습니다. 루핑을 사용하여 MD 배열 및 Db 입력을 만드는 것을 도와주세요. 나중에 수정할 코드와 함께 기본적인 아이디어를 제공해주십시오.

Tracks | Artist 
    _____________________ 

    A   | ar1 
    B   | ar2 
    C   | ar3 

DB에 입력 할 입력란이 다소 필요합니다.

+0

이것은 데이터가 데이터베이스에 저장되는 방식입니다. 두 열에 – Ibu

+0

예 이것은 형식입니다 .. 나는 MD 배열을 사용하여 입력 할 두 개의 테이블 열을 의미합니다. – Aditii

답변

0

PHP는 다차원 배열이 아니라 중첩 배열입니다. 그들은 치수를 시뮬레이션합니다. 데이터 세트를 보유 할 수있는 오브젝트도 있습니다. 그래서 배열이나 객체를 사용해야합니다 =)

배열의 여러 형태로 데이터를 가질 수 있습니다. 예를 들어

$myarray = array(0=>array('artist'=>'someone','tracks'=>array(tracks...)), 
       1=>array(...)); 
+0

이것들은 배열 작성을 위해 Google에서 이미 찾은 방법입니다. 루프 등을 사용하는 적절한 방법으로 코드를 제공하십시오. – Aditii

+0

@Aditii @Headshota가 응답 한 것은 시작 단계로 충분해야하며 사람들은 코드를 작성하지 않아도됩니다. 당신을 돕는 것입니다. – DhruvPathak

+0

코딩을 계속 진행하기위한 힌트를 얻고 싶습니다. – Aditii

0

다음은 데이터베이스 반환 결과를 객체 배열로 사용하는 데 사용할 수있는 기본 클래스입니다. 지금

<?php 
/* 
* Default database class, stores connections and queries 
* and all does db interaction 
*/ 
class Database { 

    private static $connection; 
    private static $current_query; 


    function __construct() { 
     // do something 
    } 

    public static function open_connection() { 
     $db_server = 'localhost'; 
     $db_user = 'db_user'; 
     $db_pass = 'db_pass'; 
     $db_name = 'db_name'; 
     $connection = mysql_connect($db_server,$db_user,$db_pass); 
     if (!$connection){ 
      // throw error 
      die ("Connection to database failed: ". mysql_error() ." $db_server,$db_user,$db_pass"); // debug 
     } 

     $db_select = mysql_select_db($db_name,$connection); 
     if (!$db_select){ 
      // throw some error 
      //die("Database selection Failed: " .mysql_error()); 
     } 
     self::$connection = $connection; 
    } 

    public static function close_connection() { 
     if (isset(self::$connection)){ 
      mysql_close(self::$connection); 
      unset(self::$connection); 
     } 
    } 

    public function query($sql) { 
     if (!self::$connection){ 
      self::open_connection(); 
     } 
     self::$current_query = $sql; 
     try { 
      $result = mysql_query($sql,self::$connection); 
     } catch (Exception $e) { 
      self::close_connection(); 
      // throw custom error 
      // The query failed for some reason. here is query :: self::$current_query 
     } 
     return $result; 
    } 


    private static function instantiate($record) { 
     $obj = new self; 
     foreach ($record as $k =>$value){ 
      $obj->$k = $value; 
     } 
     return $obj; 
    } 

    public static function find_by_sql($sql){ 
     if (!is_string($sql)) 
     return false; 
     $result_set = self::query($sql); 
     $obj_arr = array(); 
     while ($row = self::fetch_array($result_set)) 
     { 
      $obj_arr[] = self::instantiate($row); 
     } 
     return $obj_arr; 
    } 

} 

는 데이터에 액세스 할 수

결과 설정 당신은 어쩌면 당신은 find_by_sql()와 인스턴스화() 메소드 goodluck는 공부를한다, 상호 작용할 것이 쉽게
$playlist = Database::find_by_sql("SELECT * FROM `playlist`"); 

// loop through your result 
foreach($playlist as $play){ 
    echo "<p>$play->tracks : $play->artist</p>"; 
} 

:)

관련 문제