Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> допустимы ли sql запросы внутри цикла while 
:(
    Опции темы
supervladislav
Дата 4.5.2009, 20:52 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



у меня есть книги по php 
)))когда не понимаю в чём ошибка я пишу сюда 
почему не выполняется условие внутри цикла 
Код

$mainlink=$db->sql_query("SELECT * FROM sh_game ORDER BY data") or die(mysql_error());
if($db->sql_numrows($mainlink)>0){
while($maindat=$db->sql_fetchrow($mainlink)){
//echo "привет";
$mylogin=$maindat['login'];
//echo $mylogin;
if(!empty($maindat['nix1'])){$mynix1=$maindat['nix1'];}
if(!empty($maindat['nix2'])){$mynix2=$maindat['nix2'];}
if($maindat['people']>=2){
$mynix3="(verhuser='$mynix1' or verhuser='$mynix2') and";
}
//покупаем первый сертификат если перед нами самая верхушка 
if($maindat['id']==147 and $maindat['category']==0){  
$db->sql_query("UPDATE sh_game SET sertifikat=sertifikat+1 WHERE login='$mylogin'") or die(mysql_error());
}

//первая категория
if($maindat['people']==2 and $maindat['category']==0 and $maindat['sertifikat']==0) {




Это сообщение отредактировал(а) supervladislav - 4.5.2009, 20:57
PM MAIL   Вверх
enof
Дата 4.5.2009, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Потому что $db->sql_fetchrow($mainlink) возвращает false

PM MAIL ICQ Skype   Вверх
supervladislav
Дата 4.5.2009, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



проходит 4 интерполяции ,ровно столько скольоко у меня записей в базе ))))
false же возвращается только когда записей в базе данных нет 
PM MAIL   Вверх
enof
Дата 4.5.2009, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(supervladislav @  4.5.2009,  22:01 Найти цитируемый пост)
интерполяция

она самая.
Там четыре условия внутри цикла, какое именно?
PM MAIL ICQ Skype   Вверх
supervladislav
Дата 4.5.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



4 ое 
PM MAIL   Вверх
enof
Дата 4.5.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Значит $maindat['id'] не равно 147 и $maindat['category'] не равно 0.
Вы это хотели услышать?
PM MAIL ICQ Skype   Вверх
supervladislav
Дата 4.5.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



нет не это а вот это 
Код


if($maindat['people']==2 and $maindat['category']==0 and $maindat['sertifikat']==0) {



И ещё скажите пожалуйста при выводе данных из базы )))каждая новая строка выводящаяся из базы это - это новая интерполяция цикла так?
Почему у меня в одной переменной несколько значений даже если в конце ставлю 
Код

if(!empty($mylogin)){unset($mylogin);}



PM MAIL   Вверх
SneG0K
Дата 4.5.2009, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



supervladislav, слушай, ощущение, что книги, про которую ты говорил - у тебя нет! Блин, это вопросы детского сада... 
И еще, тебе кто-нибудь когда-нибудь говорил, про оформление кода?

Код

if(!empty($maindat['nix1'])){$mynix1=$maindat['nix1'];}
// Если это не пустое значение, то выполнить.....
if(!empty($maindat['nix2'])){$mynix2=$maindat['nix2'];}
// Если это не пустое значение, то выполнить.....
if($maindat['people']>=2){
// Если число в этой переменной больше или равно двум, то...


Отсюда вывод, значение пустое, число меньше двух!
PM WWW Skype   Вверх
supervladislav
Дата 4.5.2009, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



ко всему прочему нужно проверять переменную на существование)))но почему переменная не грохается она в конце цикла стоит 
PM MAIL   Вверх
enof
Дата 4.5.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Вы еще и до пяти считать не умеете?
Цитата(supervladislav @  4.5.2009,  23:17 Найти цитируемый пост)
это новая интерполяция цикла так?

причем здесь интерполяция? Мб итерации.
как в переменной может быть несколько значений?
Где у вас переменная не уничтожается? Код показывайте.
PM MAIL ICQ Skype   Вверх
supervladislav
Дата 4.5.2009, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



Код


if($maindat['people']==2 and $maindat['sertifikat']==3 and  $kolvo3==8){



вот скажи мне надо проверять  дополнительно переменную на существование ))))
каждая интерация цикла это вывод из базы так?


Переменная вот такая 

Код

if(!empty($logins5)){unset($logins5);}

PM MAIL   Вверх
enof
Дата 4.5.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(SneG0K @  4.5.2009,  23:30 Найти цитируемый пост)
И еще, тебе кто-нибудь когда-нибудь говорил, про оформление кода?

!!!!
Код


Цитата(supervladislav @  5.5.2009,  00:27 Найти цитируемый пост)
вот скажи мне надо проверять  дополнительно переменную на существование ))))

я то откуда знаю, надо смотреть исходя из ситуации. Если переменной может и не быть, то возможно вывалится варниг/нотайс, не помню.
Эти переменные берутся из базы, значит они 100% будут.
Цитата(supervladislav @  5.5.2009,  00:27 Найти цитируемый пост)
каждая интерация цикла это вывод из базы так?

###, итерация.
При каждом вызове mysql_fetch_* указатель смещается на следующую запись.
Цитата(supervladislav @  5.5.2009,  00:27 Найти цитируемый пост)
if(!empty($logins5)){unset($logins5);}

Это вообще к чему?
PM MAIL ICQ Skype   Вверх
Shark
Дата 4.5.2009, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



Цитата

if(!empty($logins5)){unset($logins5);}

это выглядит как условие
а это:
Код

$logins5

переменная!


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
Photon
Дата 5.5.2009, 00:58 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



Цитата(supervladislav @ 4.5.2009,  20:08)
чем мне заниматься это не твоё дело

А какого ж ты тогда тут вопросы задаешь, если это не наше дело, чем тебе заниматься?  Решай тогда свои проблемы сам.


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
bars80080
Дата 5.5.2009, 10:55 (ссылка) |    (голосов:7) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Пальцы скользят по гладкой стене
Не за что на ней зацепиться
Какой классный кирпич поставили мне
На эту стену можно молиться

Мощный фундамент из знаний воздвиг
На основе инженерной мысли
Ничем эту стену не сокрушить
Даже если в лепёшку готов ты разбиться

Но верю я в силы данные мне
Особенно в мощь своей головы
Не суждено устоять той стене
Сумею сломать без лишней воды

Вот только спецы посоветуйте просто
Как лучше крушить жжёный кирпич?
С разбегу врубиться макушки костью?
Или кунг-фу для ноги изучить?

Что вы показываете? Тропинку в обход?
Там указатель и карта дана?
Зачем мне путь для слабаков, народ?!
Верю, стена слабее меня!
PM MAIL WWW   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.