0

配列から値を取得するのに問題があります

Array
(
    [0] => id
    [column_name] => id
)
Array
(
    [0] => businessType
    [column_name] => businessType
)
Array
(
    [0] => name
    [column_name] => name
)
Array
(
    [0] => city
    [column_name] => city
)
...

私はそれらの値を取得しています

mysql_query("
SELECT column_name 
FROM information_schema.columns 
WHERE table_name='businessUpgrade' 
")

そして私のwhileループで

while($row = mysql_fetch_array($result)){
   while($column = mysql_fetch_array($colName)){
     if($row[$i] == 1){
             //here comes the missing part
     }
     $i++;
   }
}

私はさまざまなことを試しましたが、print_rによると、取得する必要がある値は同じ数のid(0)を持っています。この配列から値を取得する方法はありますか。foreach を使用する必要があることがわかりましたが、どういうわけか、試したことはすべて失敗します。

4

3 に答える 3

1

これを試して

$res = mysql_query("
SELECT column_name 
FROM information_schema.columns 
WHERE table_name='businessUpgrade' 
");

while($r = mysql_fetch_row($res)){
$arr[]=$r;
}

ノート 。mysql を使用しないでください。代わりに mysqli または PDO を試してください。

于 2013-03-13T20:12:28.350 に答える
1

2 つの while ループを使用する必要はありません。$row配列は連想配列なので、使用できます...

$columns = array();
// {query}
while($row = mysql_fetch_array($result)) {
    $columns[] = $row['column_name'];
}

var_dump($columns);

$columns配列には、すべての列のインデックスが含まれるようになりました。これはゼロインデックスであるため、これらは次を使用して個別にプルできます。

echo $columns[0]; // The first column from the query "id"
echo $columns[2]; // The third column from the query "name"

必要に応じて、この配列をループすることもできます。

foreach ($columns as $id => $column) {
    if ($id == 0) {
        // Do something with the first column:
        echo $column;
    } elseif ($id == 2) {
        // Do something with the third column:
        echo $column;
    }
}
于 2013-03-13T20:13:42.813 に答える
1

そしてこれで:

while($row = mysql_fetch_array($result)){
  while($column = mysql_fetch_assoc($colName)){
  if(($column['0'] == $row[$i]) && ($row[$i] == 1)){
         //something like this???
  }
}
  $i++;
}

あなたの質問は少し厄介です XD ..... とにかくこれが役立つことを願っています.

于 2013-03-13T20:17:49.983 に答える