2013-08-08 3 views
0

Я пытаюсь выбрать массив полей из таблицы, проблема в том, что около 200 cols.
Интересно, что это лучший способ сделать это, в моем последнем посте я хотел, чтобы выбрать конкретный тип перевалы, которые начинаются с буквы (вы можете увидеть его здесь select a particular type of columns)
так что я сделал это:
SELECT массив cols FROM table

include '../connect.php'; 
date_default_timezone_set('Asia/Tel_Aviv'); 
$datestamp = date("mY"); 
$result = mysql_query("SELECT COLUMN_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE table_name = 'd".$datestamp."' 
     AND table_schema = '".$db."' 
     AND column_name LIKE '%f%'"); 

while($r = mysql_fetch_assoc($result)){ 

     $result_array[] = implode($r); 

} 
print_r($result_array); // see the cols result. 

$Data = mysql_query("SELECT ".($result_array)." FROM d".$datestamp." LIMIT 0,1"); 
while($row = mysql_fetch_assoc($Data)){ 
    echo implode($row); 
} 


Любые предложения? Благодаря!

+0

200 колонок ..... без нормализации? – ripa

ответ

0
$result_array = array(); // intialize the result array 
while($r = mysql_fetch_assoc($result)){ 
     // add the column name to the array 
     $result_array[] = '`' . $r['COLUMN_NAME'] . '`'; 

} 
print_r($result_array); // see the cols result. 

$Data = mysql_query("SELECT ".implode(', ', $result_array)." FROM d".$datestamp." LIMIT 0,1"); 

while($row = mysql_fetch_assoc($Data)){ 
    echo implode($row); 
} 
+0

Примечание: неопределенная переменная: result_array? –

+0

Я обновил свой ответ –

0

вы можете сделать это, как это ..

$string = implode(",", $result_array); 

$Data = mysql_query("Select $string From d".$datestamp." LIMIT 0,1"); 
Смежные вопросы