Задать вопрос

Как сделать, чтобы скрипт сам брал из БД имя пользователя и обработал его. После обработки, переходил к следующему и так всех пользователей из БД?

Имеется программа которая отдает данные(колличество книг на руках) в формате JSON
Так же есть БД пользователей.

Дамп БД: file.cbsuzr.ru/lib.zip

Структура БД: lib
таблица1: user
Столбцы: userid //Отсюда берем имя пользователя и вставляем в $username

таблица2: uicheck // Если пользователь соответствует определенному критерию, то отправляем его в эту таблицу.
Столбцы: userid
book

Если в коде в ручную прописать в $username имя пользователя, то всё выполняется как надо, но как сделать, чтобы при запуске нижеуказанного кода, скрипт сам брал из БД имя пользователя (lib\user\userid) и вставлял его в ($username), после того как определится количество книг на руках и отработает функция "если больше 5\то отправить в БД", далее скрипт должен перейти к следующему пользователю и так проверить всех из таблицы (user\userid). (То что выделено жирным - это то, что не пойму как реализовать.)

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."')");  
}
?>
  • Вопрос задан
  • 403 просмотра
Подписаться 1 Простой 9 комментариев
Решения вопроса 1
lokki00003
@lokki00003
Web developer
<?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("Ошибка БД");

$count=mysql_result(mysql_query("SELECT COUNT(*) FROM `user`"),0);
$q=mysql_query("SELECT * FROM `user` WHERE `userid` LIMIT $count");
while($res=mysql_fetch_assoc($q))
{
$userid=$res['userid'];
$data = file_get_contents('localhost/json'.$userid);
$json = json_decode($data,true);
$x = $json[book];
if ($x > 5) {
$insert=mysql_query("INSERT INTO `uicheck` (`userid`,`book`) VALUES ('$userid','$x')");
}
}
?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
1. Выбросить этот код
2. Внести в БД данные по всем юзерам
3. Написать запрос, типа "дорогая база, дай мне список всех юзеров, у которых больше пяти книг"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы