Имеется программа которая отдает данные(колличество книг на руках) в формате JSON Так же есть БД пользователей. Дамп БД: http://file.cbsuzr.ru/lib.zip Структура БД: lib таблица1: user Столбцы: userid //Отсюда берем имя пользователя и вставляем в $username таблица2: uicheck // Если пользователь соответствует определенному критерию, то отправляем его в эту таблицу. Столбцы: userid book Если в коде в ручную прописать в $username имя пользователя, то всё выполняется как надо, но как сделать, чтобы при запуске нижеуказанного кода, скрипт сам брал из БД имя пользователя (lib\user\userid) и вставлял его в ($username), после того как определится количество книг на руках и отработает функция "если больше 5\то отправить в БД", далее скрипт должен перейти к следующему пользователю и так проверить всех из таблицы (user\userid). (То что выделено жирным - это то, что не пойму как реализовать.) PHP владею на уровне - могу собрать что угодно, но из кусков примеров... Вобщем я зашел в тупик... Ибо перерыл много сайтов, но подходящего решения в каком либо из примеров так и не нашел. Буду благодарен за помошь в дописании кода или хотя бы киньте ссылку на пример реализации подобной задачи. PHP: <?php $db['host']='localhost'; $db['user']='root'; $db['pass']=''; $db['db']='lib'; $conn=@mysql_connect($db['host'],$db['user'],$db['pass']) or die("Ошибка БД"); $db=@mysql_select_db($db['db']) or die("Ошибка БД"); $userid = "$username"; $data = file_get_contents("http://localhost/json/". $userid); $json = json_decode($data); $x = $json->{'book'}; if ($x > 5) { mysql_query("INSERT INTO uicheck (userid,book) VALUES ('".$userid."','".$x."')"); } ?>
PHP: SELECT * FROM users foreach($users as $user) { $userid = $user->userid .... } 2k18 ну не используйте... PHP: mysql_query
@fromdns и он содержит только ид польззователей? а в какой тогда таблице содержатся книги которые на руках у пользователя и каков форммат записи книг?
Пока только ид пользователя. Книги еще в процессе. Думаю, либо ссылка на книгу из электронного каталога, либо ISBN номер, через тот же json передаваться будет и уже в таблицу вноситься.. Но это уже будет когда с текущей задачей разберусь, всё остальное как то менее проблемным в плане реализации кажется.
В чём тут проблема? Код (Text): Parse error: syntax error, unexpected '$data' (T_VARIABLE) in F:\OSPanel\domains\lib\ucheck.php on line 13 PHP: <?php $db['host']='localhost'; $db['user']='root'; $db['pass']=''; $db['db']='lib'; $conn=@mysql_connect($db['host'],$db['user'],$db['pass']) or die("Ошибка БД"); $db=@mysql_select_db($db['db']) or die("Ошибка БД"); $sql = "SELECT * FROM users"; foreach($users as $user) { $userid = $user->userid $data = file_get_contents("http://localhost/json/". $userid); $json = json_decode($data); $x = $json->{'book'}; if ($x > 5) { mysql_query("INSERT INTO uicheck (userid,book) VALUES ('".$userid."','".$x."')"); } ?>
После правки: Warning: Invalid argument supplied for foreach() in F:\OSPanel\domains\lib\ucheck.php on line 10
https://php.ru/manual/mysqli-result.fetch-assoc.html https://php.ru/manual/mysqli-result.fetch-object.html