Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Цикл + Sql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
LCarlo
Отправлено: 18 Февраля, 2012 - 18:17:38
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Здравствуйте !
Я столкнулся с проблемой: из БД должно выводиться несколько строк, а именно
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `mytable` WHERE one ='one' AND two='two' AND three='tree' LIMIT 0,30

Результат примерно такой должен быть (как бы хотелось) :
$s['1'] = $selection ['one'] - выборка из 1 строки, далее цикл должен делать запрос к 2 строке БД
$s['2'] = $selection ['one'] - выборка из 2 строки
$s['n'] = $selection ['one'] - выборка из N строки
.
Пытался реализовать вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $n = любое число;
  3. for($i=0;$i=$n;$i++) {
  4. $selection['k++'] = mysql_query( "SELECT * FROM `mytable` where one ='one' and two='two' and three='three' LIMIT 0,30 " );
  5. $s1['$k++'] = $selection['k++'];
  6. }

, но у меня ничего не получилось.
Помогите, пожалуйста, решить Закатив глазки

PS: по идентификаторам (добавить к WHERE: `id` = "$s++") не выйдет, т.к. при условиях в запросе id'ы будут не по порядку...

(Отредактировано автором: 18 Февраля, 2012 - 18:54:58)

 
 Top
ololowke
Отправлено: 18 Февраля, 2012 - 19:24:34
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Не совсем понял, что именно требуется но возможно:
$selection['k++'] = mysql_query( "SELECT * FROM `mytable` where one ='one' and two='two' and three='three' LIMIT 0,30 " );
while($s['k++'] = mysql_fetch_array($selection['k++'])) {
...
}
 
 Top
LCarlo
Отправлено: 18 Февраля, 2012 - 19:52:24
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




ololowke пишет:
Не совсем понял, что именно требуется но возможно:
$selection['k++'] = mysql_query( "SELECT * FROM `mytable` where one ='one' and two='two' and three='three' LIMIT 0,30 " );
while($s['k++'] = mysql_fetch_array($selection['k++'])) {
...
}


Нужно, чтобы делался первый запрос к бд с условиями (Where `one` = 'sample'), а
второй запрос делался с теми же условиями, но к "следующей" строке.
Дело в том, что можно было бы сделать через id
PHP:
скопировать код в буфер обмена
  1. for($i=0;$i=5;$i++) {
  2. $select['$k++'] = mysql_query( "SELECT * FROM `mytable` where one ='one' and two='two' and three='three' and id='$z++' LIMIT 0,30 " );
  3. }

, то будет выводить поочерёдно, а с условиями очерёдности явно не будет(т.к. id"ы будут
где-то такими:
поле 1 поле 2 ид
one two 1
one two 3
one two 7
).
Но еще, дело в том, что в $n['ЗНАЧЕНИЕ'] ключ ЗНАЧЕНИЕ будет воспринято буквально(т.е. ['$k++'] не воспримет как переменную).
(Добавление)
На правах АПа...

(Отредактировано автором: 18 Февраля, 2012 - 19:56:11)

 
 Top
snikers987
Отправлено: 18 Февраля, 2012 - 21:36:29
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. $s1['$k++'] = $selection['k++'];
  3.  

Это априори работать не может..
тут ошибка на ошибке.
Во-первых, все значения заключенные в апострофы выводятся как есть! Тоесть echo '$str'; покажет именно $str , а не ее содержимое.
Во-вторых, перед каждой переменной должен быть знак доллара ($).
В третих в данном примере, если изначально $k = 0; , то запись эквивалентна

Тоесть $k увеличивается на единицу каждый раз по ходу выполнения.

+

http://phpfaq.ru/debug

(Отредактировано автором: 18 Февраля, 2012 - 21:47:59)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
DelphinPRO
Отправлено: 19 Февраля, 2012 - 03:10:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Что-то вы намудрили. Вам нужно выбрать энное количество строк, удовлетворяющих определенному условию? Правильно я понял?
PHP:
скопировать код в буфер обмена
  1. $n = любое число;
  2.  
  3. $query = "
  4.    SELECT *
  5.    FROM `mytable`
  6.    WHERE `one` = 'one'
  7.      AND `two` = 'two'
  8.      AND `three` = 'three'
  9.    LIMIT 0, " . $n . "
  10. ";
  11.  
  12. $result = mysql_query( $query );
  13. while ( $row = mysql_fetch_assoc($result) ) {
  14.     $s1[] = $row;
  15. }
  16.  
  17. echo '<pre>' . print_r($s1) . '</pre>';

(Отредактировано автором: 19 Февраля, 2012 - 03:11:12)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LCarlo
Отправлено: 19 Февраля, 2012 - 16:49:58
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




DelphinPRO пишет:
Что-то вы намудрили. Вам нужно выбрать энное количество строк, удовлетворяющих определенному условию? Правильно я понял?
PHP:
скопировать код в буфер обмена
  1. $n = любое число;
  2.  
  3. $query = "
  4.    SELECT *
  5.    FROM `mytable`
  6.    WHERE `one` = 'one'
  7.      AND `two` = 'two'
  8.      AND `three` = 'three'
  9.    LIMIT 0, " . $n . "
  10. ";
  11.  
  12. $result = mysql_query( $query );
  13. while ( $row = mysql_fetch_assoc($result) ) {
  14.     $s1[] = $row;
  15. }
  16.  
  17. echo '<pre>' . print_r($s1) . '</pre>';


Спасибо Вам огромное ! Это то, что нужно было Радость
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB