PHP.SU

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

Страниц (4): « 1 [2] 3 4 »

> Найдено сообщений: 52
mega94 Отправлено: 13 Апреля, 2015 - 08:37:52 • Тема: Скорость ответа php • Форум: Вопросы новичков

Ответов: 4
Просмотров: 503
kolyan9898 пишет:
Ребят, помогите сделать код быстрее!! Я его писал лишь бы работало, но теперь нужно сделать быстрее по выполнению!
Часть функции, один кейз
Это рейтинг игроков в клане.
PHP:
скопировать код в буфер обмена
  1.  
  2. swith($func){
  3. case "GetPlayer":
  4.  $tip = $_POST[tip];
  5.  $res = mysql_query("SELECT * FROM `users` WHERE `uid` = '$id' AND `auth` = '$key'");
  6.  $num = mysql_num_rows($res);
  7.  
  8.  if($num == 0) {
  9.  echo "[ff0000]Ошибка![-] Такой игрок не существует.";
  10. }else{
  11. $userinfo=mysql_fetch_assoc($res);
  12. $clanid= ''.$userinfo["clan"].'';
  13. $sort1="";
  14. $sort2="";
  15. switch ($tip)
  16. {
  17.   case 0:
  18. $sort1= "ORDER BY `level` DESC";
  19.     break;
  20.   case 1:
  21. $sort2= "ORDER BY `kill` DESC";
  22.     break;
  23.   case 2:
  24. $sort2= "ORDER BY `death` DESC";  
  25.     break;
  26.   case 3:
  27. $sort2= "ORDER BY (`kill`-`death`)/`kill` DESC";
  28.     break;
  29.   default:
  30.    $sort1= "ORDER BY `level` DESC";
  31.     break;
  32. }
  33. $query = "SELECT  * FROM `clans_users` WHERE `clan`='$clanid' $sort2";
  34. $res = mysql_query($query);
  35. $skull = array();
  36. $kill = array();
  37. $death = array();
  38. $level = array();
  39. $login = array();
  40. $i=0;
  41. while ($clanplayer = mysql_fetch_array($res)) // цикл сборки json
  42. {
  43. $i++;
  44. $res1 = mysql_query("SELECT `login`,`level` FROM `users` WHERE `uid`='$clanplayer[1]' $sort1");
  45. $users=mysql_fetch_array($res1);
  46. if($clanplayer[4]== 0){
  47. $skull1=0;
  48. }else
  49. if($clanplayer[4]== 0 && $clanplayer[5]== 0){
  50. $skull1=0;
  51. }else{
  52. $skull1=($clanplayer[4]-$clanplayer[5])/$clanplayer[4];
  53. }
  54. $skull["skull".$i] = $skull1;
  55. $kill["kill".$i] = $clanplayer[4];
  56. $death["death".$i] = $clanplayer[5];
  57. $login["login".$i] = $users[0];
  58. $level["level".$i] = $users[1];
  59. }
  60. $login["count"] = count($login);
  61. $d = array_merge($skull, $kill, $death, $login, $level);
  62. echo json_encode($d);
  63. }
  64.     break;
  65. }
  66.  

По пробуйте использовать не цикл while а foreach

Результаты эксперимента:
Прохождение первый раз
FOR->-0.977589
FOREACH->0.017745
WHILE->2.9999999999995E-6
DO WHILE->4.9999999999981E-6
Прохождение второй раз
FOR->0.022453
FOREACH->0.017631
WHILE->2.9999999999752E-6
DO WHILE->5.0000000000328E-6
Прохождение третий раз
FOR->0.022672
FOREACH->0.01771
WHILE->3.000000000003E-6
DO WHILE->4.000000000004E-6
mega94 Отправлено: 13 Апреля, 2015 - 08:31:27 • Тема: Ошибка в while или как поправить ? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 241
gragonvlad пишет:
Подскажите $loc= $mysqli->query("SELECT * FROM location JOIN users ON location.LOC_ID=users.location WHERE location.LOC_ID != users.location");
$loc2 = $loc->fetch_array(MYSQLI_ASSOC);
while ($loc2 = $loc->fetch_array(MYSQLI_ASSOC)) {
echo 'lol';
}
Есть следующий код база естественно пашет все кроме этого блока . Насколько я понял так делается если они равны идет дальше код . Но код не идет не выводиться . В чем собственно кроется проблема ?

по пробуйте так
PHP:
скопировать код в буфер обмена
  1. $loc= $mysqli->query("SELECT * FROM location JOIN users ON location.LOC_ID=users.location WHERE location.LOC_ID != users.location");
  2. while ($loc->fetch_array(MYSQLI_ASSOC)) {
  3. echo 'lol';
  4. }
mega94 Отправлено: 13 Апреля, 2015 - 08:24:50 • Тема: Содержимое тега head появляется в body • Форум: Вопросы новичков

Ответов: 1
Просмотров: 146
Летсак пишет:
Содержимое тега head появляется в body. Уже нервы не выдерживают. Не могу понять как так может происходить. В header.php у меня явно прописано где что должно находиться. Ошибка возникает при открытии новости с помощью ссылки с GET запросом в метод где информация достается из БД. На главной странице все нормально.

Б.Д смотрели?
mega94 Отправлено: 09 Апреля, 2015 - 22:56:17 • Тема: регулярные выражения • Форум: Вопросы новичков

Ответов: 0
Просмотров: 111
Всем привет, народ помогите с регуляркой нужно вырезать ссылку делаю так но в регуларку попадает и а как вырезать первый ?
mega94 Отправлено: 16 Марта, 2015 - 09:41:07 • Тема: Не работает CURLOPT_PROXY • Форум: Вопросы новичков

Ответов: 4
Просмотров: 413
[quote=mrKotik][/quote]Интересное тема сталкивался с такой проблемой, но к сожалении не нашлось ответа, интересно что посоветуют мастера
mega94 Отправлено: 11 Февраля, 2015 - 22:16:43 • Тема: Работать вместе! • Форум: Вопросы новичков

Ответов: 0
Просмотров: 98
Привет, тема для программиста со знанием выше низкого ниже среднего и для того кто хочет набраться опыта и до делать проект (вместе), сейчас работаю над интернет-магазином (но медленно) хочется закончить быстро если кто не занять и хочет набраться опыта прошу присоединятся пишите мне на vk https://vk[dot]com/naimjon94 там подробно объясню спасибо!
mega94 Отправлено: 04 Февраля, 2015 - 15:26:21 • Тема: парсинг simplexml_load_string • Форум: Вопросы новичков

Ответов: 5
Просмотров: 367
skiphog пишет:
Вот так должно работать
PHP:
скопировать код в буфер обмена
  1. $string = '<SearchItemsParameters><CategoryId>'.$id_cats.'</CategoryId><Configurators><Configurator Pid="20000" Vid="7704137"/></Configurators><OrderBy>'.$sorting.'</OrderBy></SearchItemsParameters>';
  2. $url = 'http://otapi.net/OtapiWebService2.asmx/BatchSearchItemsFrame?instanceKey='.CFG_SERVICE_INSTANCEKEY.'&language=ru&xmlParameters='.rawurlencode($string).'&sessionId=&framePosition='.$startget.'&frameSize=10&blockList=SearchProperties';
ура!!! спасибо заработало, а я даже не знал о функции вот за что я люблю этот форум тут всегда помогут =)
mega94 Отправлено: 04 Февраля, 2015 - 10:00:06 • Тема: парсинг simplexml_load_string • Форум: Вопросы новичков

Ответов: 5
Просмотров: 367
skiphog пишет:
Осмелюсь предположить, что у вас ошибка в составлении строки.
Т.к. вы строку формируете в одинарных кавычках,то как раз эта часть получается с ошибкой.
Попробуйте изменить
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!-- это -->
  3. <Configurator Pid='20000' Vid='7704137'/>
  4.  
  5. <!-- на это -->
  6. <Configurator Pid="20000" Vid="7704137" />

Так тоже пробовал тоже самое, ошибка в пробеле
PHP:
скопировать код в буфер обмена
  1. <ConfiguratorPid="20000"Vid="7704137" />

такой код функция simplexml_load_string пропускает, но api сервис ответит (Недопустимый параметр xmlУлыбка
mega94 Отправлено: 04 Февраля, 2015 - 09:08:48 • Тема: парсинг simplexml_load_string • Форум: Вопросы новичков

Ответов: 5
Просмотров: 367
Помогите разобраться хочу парсит такой запрос:
PHP:
скопировать код в буфер обмена
  1. $url = 'http://otapi.net/OtapiWebService2.asmx/BatchSearchItemsFrame?instanceKey='.CFG_SERVICE_INSTANCEKEY.'&language=ru&xmlParameters=<SearchItemsParameters><CategoryId>'.$id_cats.'</CategoryId><Configurators><Configurator Pid='20000' Vid='7704137'/></Configurators><OrderBy>'.$sorting.'</OrderBy></SearchItemsParameters>&sessionId=&framePosition='.$startget.'&frameSize=10&blockList=SearchProperties';


PHP:
скопировать код в буфер обмена
  1. function parse($url){
  2. $curl = curl_init();
  3. curl_setopt($curl, CURLOPT_URL, $url);
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($curl, CURLOPT_HEADER, 0);
  6.  
  7. $result = curl_exec($curl);
  8. print_r($result);
  9. if ($result === FALSE) {
  10.     echo "cURL Error: " . curl_error($curl); die();
  11. }
  12. $xmlObject = simplexml_load_string($result);
  13.  
  14. curl_close($curl);
  15.  
  16. if ((string)$xmlObject->ErrorCode !== 'Ok') {
  17.     echo "Error: " . $xmlObject->ErrorDescription; die();
  18. }
  19. return $xmlObject;
  20.  }


ошибка с строке
CODE (html):
скопировать код в буфер обмена
  1. <Configurator Pid='20000' Vid='7704137'/>
(HTTP Error 400. The request is badly formed.)
а как сформулировать тогда? надо именно так:
CODE (html):
скопировать код в буфер обмена
  1. <Configurator Pid='20000' Vid='7704137'/>
mega94 Отправлено: 02 Февраля, 2015 - 19:32:56 • Тема: Переменны • Форум: Вопросы новичков

Ответов: 1
Просмотров: 126
всем привет, всем спасибо (за чтения) и так вопрос можно ли тегом <select /><option /> передать переменны типа ?ключ=значения (<select name=?name=значения /><option name=?name=значения /> )
mega94 Отправлено: 24 Января, 2015 - 14:53:09 • Тема: Цикл do while • Форум: Вопросы новичков

Ответов: 7
Просмотров: 293
OrmaJever пишет:
mega94 пишет:
но откуда $i - ю знать что она Integer?

блин, ну у вас совсем что ли логики нету? А что если определение $i написать перед циклом? Хм
задача была решена после первого отклика пробовал так
цикл увеличивает число вопрос другой откуда переменный $i знать что она Integer? что увеличивает число?
(Добавление)
Хотя... работает и работает не важно)
mega94 Отправлено: 24 Января, 2015 - 11:47:59 • Тема: Цикл do while • Форум: Вопросы новичков

Ответов: 7
Просмотров: 293
likvidator пишет:
mega94 пишет:
$i = 1;

вы приравниваете i к 1,потом плюсуете. И выполняйся этот цикл хоть 1000 раз - действие будет одинаково 1+1=2

а так работает но откуда $i - ю знать что она Integer?
mega94 Отправлено: 24 Января, 2015 - 11:26:22 • Тема: Цикл do while • Форум: Вопросы новичков

Ответов: 7
Просмотров: 293
Всем привет, помогите что то за тупил как прибавить в цикл do цифру на единицу
пробовал так:
PHP:
скопировать код в буфер обмена
  1. do{
  2.             $i = 1;
  3.             $i++;
  4.             echo $i;
  5. }while($row = mysql_fetch_array($result));
mega94 Отправлено: 28 Декабря, 2014 - 15:39:57 • Тема: sql запрос • Форум: Вопросы новичков

Ответов: 3
Просмотров: 273
OrmaJever пишет:
а ошибку самого запроса вы могли додуматься посмотреть?

Спасибо за подсказку =)
(Добавление)
andrewkard пишет:
mega94
Что у Вас тут:
Z:\home\shop.ru\www\search_filter.php on line 87

Попробуйте переписать код так:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM table_products WHERE visible=1 AND brend_id=1  AND (price BETWEEN 0 AND 10000) ORDER BY products_id DESC", $link);
  3.  


Посмотрите синтаксис оператора SQL IN

Спасибо за синтаксис помогло следующий синтаксис:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM table_products WHERE visible=1 AND brend_id= IN ('1')  AND price BETWEEN '0' AND '10000' ORDER BY products_id DESC", $link);

Теперь можно выбрать в brend_id='$chislo' и от интервала BETWEEN '0' AND '10000'
mega94 Отправлено: 28 Декабря, 2014 - 11:11:33 • Тема: sql запрос • Форум: Вопросы новичков

Ответов: 3
Просмотров: 273
Всем здрасьте помогите с ошибкой у меня вот такой sql запрос
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM table_products WHERE visible=1 AND brend_id IN 1 price BETWEEN 0 AND 10000 ORDER BY products_id DESC", $link);

Такая ошибка
PHP:
скопировать код в буфер обмена
  1. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\shop.ru\www\search_filter.php on line 87

с кавычек
PHP:
скопировать код в буфер обмена
  1.  visible='1' AND brend_id IN '1' price BETWEEN '0' AND '10000'

и присвоить
PHP:
скопировать код в буфер обмена
  1.  visible=1 AND brend_id=IN 1 price=BETWEEN 0 AND 10000

пробовал та же беда

Страниц (4): « 1 [2] 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB