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

Форум MySQL

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

 

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

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

тема: Динамический элемент массива
 
 автор: vadimka   (17.02.2012 в 14:44)   письмо автору
 
 

Здравствуйте!
в цикле при выборке данных имеется
$row[id_receiver]
возможно ли, чтобы заключенное слово id_receiver менялась на другое слово, к примеру:

if (isset($_GET[sent])) {
$var="id_receiver";
}
else {
$var="id_sender";
}
$row[$var];

к сожалению, так не срабатывает:)

  Ответить  
 
 автор: Lotanaen   (17.02.2012 в 15:08)   письмо автору
 
   для: vadimka   (17.02.2012 в 14:44)
 

А можно подробней в чем проблема? Должно работать, если я Вас правильно понял.

  Ответить  
 
 автор: vadimka   (17.02.2012 в 15:22)   письмо автору
 
   для: Lotanaen   (17.02.2012 в 15:08)
 

нужно массив $row[id_receiver] или $row[id_sender] вставить в другой запрос к базе:
$query2=mysql_fetch_array(mysql_query("SELECT * FROM  h_users  WHERE  id_user ='".$row[id_receiver]."' "));

  Ответить  
 
 автор: Lotanaen   (17.02.2012 в 15:30)   письмо автору
 
   для: vadimka   (17.02.2012 в 15:22)
 

Оба значения массива: $row[id_receiver] и $row[id_sender] существуют? Должно работать - РНР позволяет так работать с массивами.

  Ответить  
 
 автор: vadimka   (17.02.2012 в 15:33)   письмо автору
 
   для: Lotanaen   (17.02.2012 в 15:30)
 

да, существуют

  Ответить  
 
 автор: Lotanaen   (17.02.2012 в 15:37)   письмо автору
 
   для: vadimka   (17.02.2012 в 15:33)
 

а если так сделать:

if (isset($_GET[sent])) {
$var=$row["id_receiver"];
}
else {
$var=$row["id_sender"];
}
echo $var; 

скрипт работает?

  Ответить  
 
 автор: vadimka   (17.02.2012 в 16:31)   письмо автору
 
   для: Lotanaen   (17.02.2012 в 15:37)
 

так же само - переменная, а нужен массив

  Ответить  
 
 автор: Lotanaen   (17.02.2012 в 16:39)   письмо автору
 
   для: vadimka   (17.02.2012 в 16:31)
 

так здесь же у Вас $query2=mysql_fetch_array(mysql_query("SELECT * FROM h_users WHERE id_user ='".$row[id_receiver]."' ")); не массив, а значение массива подставляется. id_user же не массив у Вас в БД.
Можно на часть кода посмотреть вместе с формированием массива и его использованием?

  Ответить  
 
 автор: vadimka   (17.02.2012 в 16:54)   письмо автору
 
   для: Lotanaen   (17.02.2012 в 16:39)
 

$query2=mysql_fetch_array(mysql_query("SELECT * FROM h_users WHERE id_user ='".$row[id_receiver]."' "));
он в другом цикле...

  Ответить  
 
 автор: Lotanaen   (17.02.2012 в 16:57)   письмо автору
 
   для: vadimka   (17.02.2012 в 16:54)
 

что-то у вас с циклами видимо с ошибкой - без более подробной инфо ничего не могу посоветовать...

  Ответить  
 
 автор: Sfinks   (17.02.2012 в 17:42)   письмо автору
 
   для: vadimka   (17.02.2012 в 16:54)
 

Все должно работать так как вы написали в первом посте. Если не работает, значит массив $row у вас содержит не то что вы ожидаете. Выведите в самом первом своем варианте сразу после
else { 
$var="id_sender"; 
}
такую строку:
<?
echo"<pre>";print_r($row);echo"</pre>";
и, если сами не разберетесь в чем проблема, покажите сюда результат

  Ответить  
 
 автор: vadimka   (20.02.2012 в 12:21)   письмо автору
 
   для: Sfinks   (17.02.2012 в 17:42)
 

да все работает , всем спасибо!

  Ответить  
 
 автор: Sfinks   (17.02.2012 в 15:17)   письмо автору
 
   для: vadimka   (17.02.2012 в 14:44)
 

т.е. нужно выбрать другой столбец? Тогда
SELECT `$var` FROM ......

или чтоб те же данные в переменной были под другим индексом? Тогда
SELECT `id_receiver` AS `$var` FROM .....

  Ответить  
 
 автор: vadimka   (17.02.2012 в 15:28)   письмо автору
 
   для: Sfinks   (17.02.2012 в 15:17)
 

смотрите мой ответ выше...

  Ответить  
Rambler's Top100
вверх

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