Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88

Цитата:
и на выходе-  Андрей Иванов.  

у обычного массива тоже есть ключ - номер элемента, поэтому $i => будет выдавать числа.
сделайте var_dump($массив); и увидите
если массивы по размеру совпадают (и нет пропущенных ключей), то в одном цикле можно обращаться сразу к трем.
 

Цитата:
foreach($id as $i => $val) {  
   $query = "INSERT INTO `zap` (`id`,`name`,` ........  
   $res = mysqli_query($link, $query);  
}

сделает кучу запросов (а вдруг там тысячи записей?), когда можно сделать все одним.  
 

Цитата:
DELETE FROM  `zap` WHERE  `id` IN ($del_zap)

содержимое $del_zap придется представить в таком виде,  каком mysql поймет, а не просто отдав массив.
IN(id1, id2, id3, ...) если цифровые и  
IN('id1', 'id2', 'id3', ...) если строчные

Всего записей: 6814 | Зарегистр. 20-09-2014 | Отправлено: 19:44 16-07-2018 | Исправлено: Mavrikii, 20:07 16-07-2018
sem88

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
содержимое $del_zap придется представить в таком виде,  каком mysql поймет, а не просто отдав массив.
DELETE FROM  `zap` WHERE  `id` IN ($del_zap)

 
Разумеется  сделано через   $del_zap = implode(",", $id);
 
 
 

Цитата:
а правильнее будет создать один такой запрос вида  Код: INSERT INTO `zap2` (`email`,`name`,`post`) VALUES ('val11', 'val12', 'val13'), ('val21', 'val22', 'val23'), ('val31', 'val32', 'val33');

 
Вы наверняка правы, но мне не понятно откуда берутся  val11', 'val12', 'val13'  и т.д. поэтому не могу сделать одним запросом.
 
 
 
Добавлено:
И  как в данный запрос добавить выборку по WHERE `site` = 111
 
 
 SELECT id,  group_concat(distinct email) as email FROM zap group BY id WHERE `site` = '111'
 
не работает.

Всего записей: 55 | Зарегистр. 13-04-2007 | Отправлено: 16:30 17-07-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sem88

Цитата:
но мне не понятно откуда берутся

ну сами подумайте, что загоняете в массив в цикле.
 

Цитата:
не работает.

не работает с ошибкой или не работает возвращая пустоту?
не видя структуры таблицы сложно что то сказать

Всего записей: 6814 | Зарегистр. 20-09-2014 | Отправлено: 20:04 17-07-2018
kaurych



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!
Озадачили на php сценарий написать, а я только 7 лет назад его изучал и не пригодилось.
За пару дней практически всё сделал, но тут на целый день застрял вот с какой проблемой:
 
забираю curl данные в переменную,
Код:
$returned = curl_exec($ch);

вывожу в браузере,
Код:
echo nl2br($returned);

КРАСОТА.... данные на несколько экранов, но вот что, надо выловить определённые строчки с фразой "sources"
чем вылавливать понял, подойдёт и strchr(), но она только первое вхождение с этой подстрокой определяет и всё остальное вываливает тоже, а это не надо!
Я так понимаю надо каждую строчку добавить в массив и обрабатывать его уже, НО как засунуть $returned  ?  
Я за му... ся уже б.. искать вариант решения как эту ху.. засунуть в массив пол дня уже сижу с этим.
Будьте так любезны о Сэнсэи учения php, подскажите вариант решения!  
Гугл весь перерыл - там такие варианты как:
Код:
 $massiv=(array) $returned  
не хочет работать.
Такое
Код:
$lines = file('http://www.example.com/')  
подобное тоже не работает... я имею ввиду

Код:
$lines = file($returned);
 - -ну предполагаю что могло и отработать...
 

Всего записей: 443 | Зарегистр. 16-05-2006 | Отправлено: 16:44 07-08-2018 | Исправлено: kaurych, 17:00 07-08-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kaurych

Цитата:
за му... ся уже б.. искать вариант решения как эту ху.. засунуть

можно выражаться и культурно.  
вам нужно строку или какой то кусок строки вытаскивать? для этого есть PHP: Регулярные выражения (RegExp, Regular, eregi, preg) если чисто строку целиком, в которой есть какой то текст, то можно разбить по переносам на массив, а потом http://php.net/manual/ru/function.preg-grep.php

Всего записей: 6814 | Зарегистр. 20-09-2014 | Отправлено: 19:57 07-08-2018 | Исправлено: Mavrikii, 20:05 07-08-2018
GEGEMON

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
открывается сайт только по адресу сайт/index.php . По адресу http://мой.сайт/ - недоступен. Пхп не знаю совсем. Что и куда прописать?

Всего записей: 1303 | Зарегистр. 07-02-2006 | Отправлено: 12:52 09-08-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
Что и куда прописать?

А теперь ещё раз, но внятно. Ибо "сайт" и "мой.сайт", как бы разные домены. Плюс  что значит "недоступен"? 404, 403 или вообще домен не найден? И главное, при чем тут php?

Всего записей: 6814 | Зарегистр. 20-09-2014 | Отправлено: 14:19 09-08-2018
GEGEMON

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Поленился. http://мой.сайт не открывается без index.php т.е.  
http://мой.сайт/index.php - открывается, http://мой.сайт - не открывается, фактически 404 но у хостера поставлена заглушка, что типа мой.сайт скоро будет работать.  

Цитата:
 И главное, при чем тут php?

насколько я понимаю нужно прописать в index.php мод реврайт, но как и в каком месте не знаю.....хотя можа и не прав я.

Всего записей: 1303 | Зарегистр. 07-02-2006 | Отправлено: 15:51 09-08-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
прописать в index.php мод реврайт,

http://www.htaccess-guide.com/directoryindex-uses/
http://prog-time.ru/kak-zadat-glavnyj-fajl-dlya-sajta-directoryindex-v-htaccess/

Цитата:
но как и в каком месте не знаю

И это настройки сервера, а не php и его работа.
Можно и через mod_rewrite в mod_rewrite: документация, готовые решения, вопросы, но DirectoryIndex должно быть достаточно.

Всего записей: 6814 | Зарегистр. 20-09-2014 | Отправлено: 16:41 09-08-2018 | Исправлено: Mavrikii, 17:00 09-08-2018
GEGEMON

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
И это настройки сервера, а не php и его работа

конечно, просто не дошел до настроек сервера, ЧПУ надо было включить всего навсего....да и опенкарт не работал раньше.
Mavrikii спасибо за помощь.

Всего записей: 1303 | Зарегистр. 07-02-2006 | Отправлено: 09:08 10-08-2018
Rayled

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день, друзья!
Как сделать в phpmyadmin массовую замену в таблице БД с выборкой по соседнему полю?
Как сделать массовую замену во всём поле таблицы я знаю, но необходимо по другому...
 
Есть таблица "table_re". Есть у неё поля "title_re" и "mass_id".
Значения в "title_re" все разные (но есть одинаковые куски).  
Значения в "mass_id" идут группами, например: 10 строк со значением "510", 56 строк со значением "511", 92 строки со значением "512" и т.д.
 
Необходимо сделать массовую замену в поле "title_re" но не по всему полю, а только у строк с указанным значением "mass_id". Например, заменить в "title_re" слово "большой" на слово "огромный" во всех строках с mass_id" = "511".
 
Заранее спасибо!

Всего записей: 41 | Зарегистр. 21-02-2010 | Отправлено: 10:56 25-09-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rayled
UPDATE table SET field1 = REPLACE(field1, 'искомое_значение', 'заменяемое_значение') WHERE field2 = 'значение_выборки'

Всего записей: 6814 | Зарегистр. 20-09-2014 | Отправлено: 20:49 25-09-2018
Rayled

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо!

Всего записей: 41 | Зарегистр. 21-02-2010 | Отправлено: 05:02 26-09-2018
NoDiR_777



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не устанавливается mySQL на Windows 7 64-бит, вылетает с ошибкой
 
Лог ошибки  

Цитата:
Имя сбойного приложения: MySQLInstaller.exe, версия: 1.4.26.0, отметка времени: 0x5b05de85
Имя сбойного модуля: KERNELBASE.dll, версия: 6.1.7601.19045, отметка времени 0x56259271
Код исключения: 0xe0434352
Смещение ошибки: 0x000000000000b3dd
Идентификатор сбойного процесса: 0x1ec0
Время запуска сбойного приложения: 0x01d45bb3dff9772f
Путь сбойного приложения: C:\Program Files (x86)\MySQL\MySQL Installer for Windows\MySQLInstaller.exe
Путь сбойного модуля: C:\Windows\system32\KERNELBASE.dll
Код отчета: 1dc1142d-c7a7-11e8-93e8-14dae9efad24

 

Цитата:
 
Приложение: MySQLInstaller.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.UnauthorizedAccessException
   в System.IO.__Error.WinIOError(Int32, System.String)
   в System.IO.Directory.InternalCreateDirectory(System.String, System.String, System.Object, Boolean)
   в System.IO.Directory.InternalCreateDirectoryHelper(System.String, Boolean)
   в WexInstaller.Core.LoggerListener.CheckTextFile()
   в WexInstaller.Core.LoggerListener.Write(System.String)
   в System.Diagnostics.TraceListener.WriteHeader(System.String, System.Diagnostics.TraceEventType, Int32)
   в System.Diagnostics.TraceListener.TraceEvent(System.Diagnostics.TraceEventCache, System.String, System.Diagnostics.TraceEventType, Int32, System.String)
   в System.Diagnostics.TraceSource.TraceEvent(System.Diagnostics.TraceEventType, Int32, System.String)
   в WexInstaller.Core.Logger.LogException(System.Exception)
   в WexInstaller.Program.ReportUnhandledException(System.Exception)
   в WexInstaller.Program.Main()
 

 
Чем это можно вылечить?

Всего записей: 38 | Зарегистр. 17-12-2009 | Отправлено: 10:47 04-10-2018 | Исправлено: NoDiR_777, 10:48 04-10-2018
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NoDiR_777
прочитайте внимательно название раздела и темы. тут не занимаются установкой MySQL, для этого есть тема MySQL
 
ps: судя по ошибке - у юзверя, под которым запускаете инсталлятор, не хватает прав на создание папок. либо во временную папку, либо в конечную инсталляции. запускайте от админа, но остальное в теме по ссылке выше.

Всего записей: 6814 | Зарегистр. 20-09-2014 | Отправлено: 10:51 04-10-2018 | Исправлено: Mavrikii, 10:52 04-10-2018
NoDiR_777



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Прошу прощения, не нашел той темы. По поводу запуска от администратора, я это уже пробовал.

Всего записей: 38 | Зарегистр. 17-12-2009 | Отправлено: 13:49 04-10-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru