$res = mysql_query("SELECT `name1`,`name2`,`name3`,`name4`,`name5`,`price1`,`price2`,`price3`,`price4`,`price5` FROM `galery` WHERE `user_id`='$id' ");
$row = mysql_fetch_assoc($res);
$name1=$row['name1'];
$name2=$row['name2'];
$name3=$row['name3'];
$name4=$row['name4'];
$name5=$row['name5'];
$price1=$row['price1'];
$price2=$row['price2'];
$price3=$row['price3'];
$price4=$row['price4'];
$price5=$row['price5'];
Спустя 4 минуты, 11 секунд (27.02.2011 - 21:46) Lenarfate написал(а):
$res = mysql_query("SELECT * FROM `galery` WHERE `user_id`='$id' ");
$row = mysql_fetch_assoc($res);
и выводишь где нужно определенные переменные. где нужно $row['name1'], где нужно $row['price2'] и тп
Спустя 2 минуты, 55 секунд (27.02.2011 - 21:49) Andruhaphp написал(а):
а вот это циклом никак нельзя заменить
$name1=$row['name1'];
$name2=$row['name2'];
$name3=$row['name3'];
$name4=$row['name4'];
$name5=$row['name5'];
$price1=$row['price1'];
$price2=$row['price2'];
$price3=$row['price3'];
$price4=$row['price4'];
$price5=$row['price5'];
$name1=$row['name1'];
$name2=$row['name2'];
$name3=$row['name3'];
$name4=$row['name4'];
$name5=$row['name5'];
$price1=$row['price1'];
$price2=$row['price2'];
$price3=$row['price3'];
$price4=$row['price4'];
$price5=$row['price5'];
Спустя 48 секунд (27.02.2011 - 21:50) Snus написал(а):
Andruhaphp
Можно так еще.
$res = mysql_query("SELECT `name1`,`name2`,`name3` FROM `galery` WHERE `user_id`='".mysql_real_escape_string($id)."' ") or die(mysql_error());
list($name1,$name2,$name3) = mysql_fetch_array($res);
Можно так еще.
Спустя 32 минуты, 1 секунда (27.02.2011 - 22:22) andyp написал(а):
Если сильно нужно циклом, то можно:
foreach ($row as $k=>$v) {
$$k = $v;
}
Цитата |
list($name1,$name2,$name3) = mysql_fetch_array($res); |
По умолчанию, тип массива у mysql_fetch_array смешанный, то есть там будут не только числовые индексы, а конструкция list ожидает числовой. Поэтому, правильней:
list($name1,$name2,$name3) = mysql_fetch_array($res, MYSQL_NUM);
Спустя 11 часов, 24 минуты, 33 секунды (28.02.2011 - 09:47) linker написал(а):
list($name1, $name2, $name3) = mysql_fetch_row($res);
Спустя 9 минут, 33 секунды (28.02.2011 - 09:56) Snus написал(а):
Цитата (Snus @ 27.02.2011 - 18:50) |
list($name1,$name2,$name3) = mysql_fetch_array($res); |
Цитата (andyp @ 27.02.2011 - 19:22) |
list($name1,$name2,$name3) = mysql_fetch_array($res, MYSQL_NUM); |
Цитата (linker @ 28.02.2011 - 06:47) |
list($name1, $name2, $name3) = mysql_fetch_row($res); |
Нет принципиальной разницы
Спустя 22 минуты, 40 секунд (28.02.2011 - 10:19) linker написал(а):
Разница есть по крайней мере в первом варианте отдается смешанный массив: обычный и ассоциативный, list() тут не проканает. mysql_fetch_row() тут в самый раз.
Спустя 7 минут, 23 секунды (28.02.2011 - 10:26) Snus написал(а):
linker
А вот ты бы взял, да проверил прежде, чем утверждать
А вот ты бы взял, да проверил прежде, чем утверждать
Спустя 1 час, 37 минут, 9 секунд (28.02.2011 - 12:04) andyp написал(а):
Конструкция list работает с числовыми массивами, поэтому либо
Snus включите отображение ошибок уровня NOTICE и проверьте
Хотя не спорю, что Ваш пример не будет выводить сообщений об ошибках
mysql_fetch_array($res, MYSQL_NUM);либо
mysql_fetch_row($res),что одинаково.
Snus включите отображение ошибок уровня NOTICE и проверьте
$a = array('a'=>'1', 'b'=>'2');
list($a1,$a2) = $a;
Хотя не спорю, что Ваш пример не будет выводить сообщений об ошибках
Спустя 22 минуты, 42 секунды (28.02.2011 - 12:26) Snus написал(а):
andyp
Ну-ну А в случае с mysql_fetch_array, list будет забирать только числовые ключи. Ну впрочем вариант linker'а правильнее, но это не столь принципиально
Ну-ну А в случае с mysql_fetch_array, list будет забирать только числовые ключи. Ну впрочем вариант linker'а правильнее, но это не столь принципиально
Спустя 3 минуты, 29 секунд (28.02.2011 - 12:30) andyp написал(а):
Да но это только потому что все числовые ключи на месте
Спустя 6 секунд (28.02.2011 - 12:30) twin написал(а):
Я вот только не пойму, зачем переназначать переменные... Чем не угодила эта форма
$row['name1']
зачем обязтельно
$name1
Ну а коли приспичило, есть такая штука, как extract()
$row['name1']
зачем обязтельно
$name1
Ну а коли приспичило, есть такая штука, как extract()
Спустя 6 часов, 16 минут, 22 секунды (28.02.2011 - 18:46) inpost написал(а):
$i = 1;
$row['name'.$i];
ну а дальше циклом for
$row['name'.$i];
ну а дальше циклом for
Спустя 5 часов, 56 минут, 22 секунды (1.03.2011 - 00:43) Andruhaphp написал(а):
Вот так
for ($i=1;$i<6;$i++)
{
$name.$i =$row['name'.$i];
} ?
for ($i=1;$i<6;$i++)
{
$name.$i =$row['name'.$i];
} ?
Спустя 41 минута, 58 секунд (1.03.2011 - 01:25) inpost написал(а):
Andruhaphp
зачем их инициализировать? Что мешает тебе напрямую с $row['name1'] работать???
зачем их инициализировать? Что мешает тебе напрямую с $row['name1'] работать???
Спустя 10 часов, 11 минут, 9 секунд (1.03.2011 - 11:36) Andruhaphp написал(а):
да.ничего не мешает
Спустя 28 минут, 31 секунда (1.03.2011 - 12:04) andyp написал(а):
так Вы присвоите только те элементы массива, которые начинаются с name.
А с помощью explode, list или если уж сильно надо циклом
foreach ($row as $k=>$v) {
$$k = $v;
}
присвоятся все.
Но как правильно здесь говорилось, это делать незачем (разве что дальше эти переменные повсюду используются и Вам не хочется их везде заменять).
А с помощью explode, list или если уж сильно надо циклом
foreach ($row as $k=>$v) {
$$k = $v;
}
присвоятся все.
Но как правильно здесь говорилось, это делать незачем (разве что дальше эти переменные повсюду используются и Вам не хочется их везде заменять).