[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с массивом переменных
maximka787
Ребят, помогите. Код простой, но я уже устал разбираться:

$result = mysql_query("select * from book where id='1'");
$num_results = mysql_num_rows($result);
$row = mysql_fetch_array($result);


for ($i=0; $i<3; $i++){

$my.$i = $row['m'.$i];

}

echo $my1;
echo $my2;
echo $my3;

Профи сразу поймет где ошибка, я уверен она в орфографии $my.$i

$my[$i] так тоже не работает

Вкратце надо вот что

$my1 = $row['m1'];
$my2 = $row['m2'];
$my3 = $row['m3'];
$my4 = $row['m4'];
и тд.. (у меня 60 колонок в таблице просто, и в ручную долго все писать))

Помогите пожалуйста!!!!!



Спустя 7 минут, 1 секунда (4.08.2010 - 14:53) Семён написал(а):
А откуда в $row будет 'm' ?
Выведите для начала содержимое...
echo "<pre>";
print_r($row);
echo "</pre>";

Спустя 22 секунды (4.08.2010 - 14:53) waldicom написал(а):
Посмотрите в сторону фичи $$ (два знака доллара). Например тут.

Спустя 2 минуты, 53 секунды (4.08.2010 - 14:56) maximka787 написал(а):
Забыл дописать:

Колонки в базе у меня m1,m2,m3 и тд

CREATE TABLE IF NOT EXISTS `book` (
`m1` int(1) DEFAULT NULL,
`m2` int(1) DEFAULT NULL,
и тд

Спустя 4 минуты, 40 секунд (4.08.2010 - 15:00) Семён написал(а):
Выведи содержимое $row, ты неверно работаешь с ключами массива!

echo "<pre>";
print_r($row);
echo "</pre>";

Спустя 1 минута, 21 секунда (4.08.2010 - 15:02) maximka787 написал(а):
Ладно, я спрошу по-другому. Я запутал базой все.

Давайте без нее.

Помогите просто создать цикл который присвоит переменные:

$my1 = 1;
$my2 = 2;
$my3 = 3;
....
$my100 = 100;

----
я сделал, но у меня повис сервер, зациклил видимо.

for ($i=0; $i<100; $i++){
$my.$i = $i;
}

Спустя 1 минута, 11 секунд (4.08.2010 - 15:03) waldicom написал(а):
Я бы еще раз посоветовал прочитать тут

Спустя 9 минут, 36 секунд (4.08.2010 - 15:13) maximka787 написал(а):
Цитата (waldicom @ 4.08.2010 - 12:03)
Я бы еще раз посоветовал прочитать тут

Я посмотрел спасибо за статью, но я не разобрался с синтактсисом. Чуть выше я написал простой цикл, я уже все испробовал, но он не работает:

повторюсь

for ($i=0; $i<3; $i++){
$my.$i = $i; //ТУТ ОШИБКА
}

echo $my1;
echo $my2;
echo $my3;

Спустя 2 минуты, 35 секунд (4.08.2010 - 15:15) Семён написал(а):
Изучайте основы языка.
Изучайте что такое переменная и массив. что такое ключ массива и значение.

Спустя 4 минуты, 58 секунд (4.08.2010 - 15:20) maximka787 написал(а):
Я изучу, Семён, но мне нужно сейчас чтоб помогли, а то меня потом заказчик научит другому.))) как не лезть в работу, если не знаешь много:) Я уже давно программирую, но первый раз столкнулся с массивом.

Спустя 2 минуты, 39 секунд (4.08.2010 - 15:23) Basili4 написал(а):
Цитата (maximka787 @ 4.08.2010 - 16:20)
Я уже давно программирую, но первый раз столкнулся с массивом.

В юмор однозначно. Я под столом.

Спустя 4 минуты, 46 секунд (4.08.2010 - 15:28) Семён написал(а):
maximka787
Ты либо слушаешь что тебе говорят, либо получаешь порку от заказчика, чтобы в след. раз не брался за то, с чем вообще ни разу не работал

После этой строчки:
$row = mysql_fetch_array($result);


Вставь это:
echo "<pre>";
print_r($row);
echo "</pre>";


Тебе отобразится содержание массива $row
Затем ты его частично выкладываешь и мы уже работаем дальше.

Спустя 8 минут, 29 секунд (4.08.2010 - 15:36) maximka787 написал(а):
Цитата (Семён @ 4.08.2010 - 12:28)
maximka787
Ты либо слушаешь что тебе говорят, либо получаешь порку от заказчика, чтобы в след. раз не брался за то, с чем вообще ни разу не работал

После этой строчки:
$row = mysql_fetch_array($result);


Вставь это:
echo "<pre>";
print_r($row);
echo "</pre>";


Тебе отобразится содержание массива $row
Затем ты его частично выкладываешь и мы уже работаем дальше.

А как получить мне значение отдельных переменных? Вывести я смогу принтом, но мне надо будет выполнить некоторые операции над переменными.

Получилось вот что:

Array
(
[0] => 3000
[id] => 30
[1] => 1
[m1] => 1
[2] => 0
[m2] => 0
[3] => 0
[m3] => 0
[4] => 0
[m4] => 0
[5] => 1
....
[15] => 1
[m15] => 1
)

Спустя 8 минут, 20 секунд (4.08.2010 - 15:44) Michael написал(а):
в принципе зря не читаешь, что waldicom советует.
Так делается:

for ($i=0; $i<100; $i++){
$x = 'my';
$y = $x . $i;

$$y = $i; // чего нибудь присвоим

}
// переменные определены, выводим например $my67:
echo $my67;

Спустя 2 минуты, 43 секунды (4.08.2010 - 15:47) Семён написал(а):
Повезло заказчику....

for ($i=1; $i<=10; $i++){
$my[$i] = $row ['m'.$i];
}

echo $my[1];
echo $my[2];
echo $my[3];


Спустя 14 минут, 34 секунды (4.08.2010 - 16:02) maximka787 написал(а):
Спасибо ребят. Это и хотел узнать. Голова просто уже не соображает.


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.