Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Данные таблицы в одномерный массив
 
 автор: Nevi   (06.03.2008 в 04:55)   письмо автору
 
 

Вроде элементарная задача , а уже сутки решить не могу
Нужно поместить данные из одной колонки таблицы MySQL в одномерный массив


$query = mysql_query("SELECT ignor FROM user_ignor WHERE id_iam = '".$userid."'");
$ignoruser[] = array();
if($query == 0)
{
// ошибочный запрос
$ignoruser[] = 0;
}
else if(($num_rows = mysql_num_rows($query)) == 0)
{
// пустой результат
$ignoruser[] = 0;
}
else while($ignordata = mysql_fetch_array($query))
{
$ignoruser[] = $ignordata;
// вычерпываем данные
}


Подразумевается что $ignoruser[] будет = {'11','22','33'} // пример

mysql_fetch_row тоже пробовал ничего не получается

PS Вообще я был уверен что будет достаточно одной строчки

$ignordata = mysql_fetch_array($query)
и все автоматически запишется в одномерный массив - но так как это не прокатило пришлось городить огород

Кстати если выполнить MySQLAdmin запрос SELECT ignor FROM user_ignor WHERE id_iam = 1 например то он выдает табличку из одной колонки user_ignor в которой соответствующее количествол строк как нужно - почему же в массив не присваивается - я уже все перечитал!

   
 
 автор: Furst   (06.03.2008 в 08:17)   письмо автору
 
   для: Nevi   (06.03.2008 в 04:55)
 

А разве можно $ignoruser[] = array(); ??

   
 
 автор: ONYX   (06.03.2008 в 09:14)   письмо автору
 
   для: Furst   (06.03.2008 в 08:17)
 

>А разве можно $ignoruser[] = array(); ??
Можно но получится многомерный массив

   
 
 автор: Thrasher   (06.03.2008 в 10:54)   письмо автору
 
   для: Nevi   (06.03.2008 в 04:55)
 

$query = mysql_query("SELECT ignor FROM user_ignor WHERE id_iam = '".$userid."'");
$ignoruser[] = array();
if($query == 0) 

// ошибочный запрос 
$ignoruser[] = 0;

else if(($num_rows = mysql_num_rows($query)) == 0) 

// пустой результат 
$ignoruser[] = 0;

else while($ignordata = mysql_fetch_array($query)) 

$ignoruser[] = $ignordata['ignor'];
// вычерпываем данные 
}

   
 
 автор: ONYX   (06.03.2008 в 11:35)   письмо автору
 
   для: Thrasher   (06.03.2008 в 10:54)
 

Мне кажется так будет проще
<?
$query 
mysql_query("SELECT ignor FROM user_ignor WHERE id_iam = '".$userid."'"); 
$ignoruser = array(); 
$num_rows mysql_num_rows($query);
if(
$num_rows == 0){
    
$ignoruser[] = 0
}
else{
    while(
$ignordata mysql_fetch_array($query))  
        
$ignoruser[] = $ignordata['ignor']; 

?>

   
 
 автор: Nevi   (07.03.2008 в 01:37)   письмо автору
 
   для: ONYX   (06.03.2008 в 11:35)
 

спасибо за помощь!

А еще вопрос !

Можно ли делать в одном селекте запрос сразу к нескольким таблицам

типа
select row1, row2, row3 From Table1 , Table2 where userid = '111'
ну чтото типа такого или как можно выбрать данные стразу из 2х таблиц и будет ли это быстрее чем сначало из первой а потом из второй...

Спасибо
жду ваш ответ!

   
 
 автор: Furst   (07.03.2008 в 01:49)   письмо автору
 
   для: Nevi   (07.03.2008 в 01:37)
 

да можно

SELECT tbl1.col1, tbl1.col2, tbl2.column1, tbl2.column2
FROM tbl1, tbl2
WHERE userid = '111'

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования