Здравствуйте, уважаемые участники сообщества - столкнулся с такой проблемой - создал пользователей , а теперь каждому пользователю хочу присвоить отдельно уже созданную ноду - то есть хочу изменить uid в таблице node - вот что я пишу
$link = mysql_connect("localhost", "admin", "pass");
mysql_query("SET NAMES utf8");
mysql_select_db("kursor");
$resultNode = mysql_query('SELECT uid FROM node ');
while ($rowNode = mysql_fetch_array($resultNode)){
for($uid=2; $uid<5000; $uid++){
mysql_query("update node SET uid='$uid'");
}
}
mysql_close($link);
?>
Но этот код меняет все значения и присваивает последнее значение всем uid . Может кто-нибудь подскажет , что я делаю не так - заранее спасибо.
Комментарии
не правильно все )) или почти все.
Вам как? безразлично какому юзеру какая нода? или есть какая-то закономерность?
Имеется ввиду тип ноды.
Желательно чтобы извлекать uid из users с заменой значений uid в node, а вообще-то можно и безразлично кому какая нода - только надо чтоб получилось так - каждому пользователю одна нода
Заранее спасибо
PS: Ноды уже есть
Выполни только один запрос, получишь каждому пользователю ноду с его $uid
Как-то так; правда этот код надо выполнять внутри друпала а не внешне как Ваш, для внешки просто заметине функции db_query на родные пхпшные. ну и про подключение к БД не напоминаю ))).
while($uid = db_fetch_array($uids)){
db_query("UPDATE {node} SET uid = %d", $uid['uid']);
}
Спасибо помогло
Хотя не совсем помогло - uid везде рисваивается последний - то есть везде в node uid становится последним выбранным значением из userss - то есть все ноды присваиваются последнему пользователю из userss
Помгите плиз - я уже тут моск сломал
А так?
$nids = db_query("SELECT nid FROM {node} WHERE type = 'ваш тип материала' ORDER BY(nid)");
while($nid = db_fetch_array($nids)){
$nodes[] = $nid['nid'];
}
while($uid = db_fetch_array($uids)){
db_query("UPDATE {node} SET uid = %d WHERE nid = %d", $uid['uid'], array_shift($nodes));
}?>
Спасибо огромное glu2006 ))))))))))))) А можно ещё вопрос - что такое %d - читал где-то что автозаполнитель - а где можно пронего подробней узнать ?