[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как такое можно реализовать ?
cmdhitman
Здравствуйте, уважаемые специалисты. Столкнулся с такой проблемой- есть база данных "kursor" в ней есть таблицы "node" и "users" - в обеих таблицах есть столбец uid . Нужно из таблицы users перенести значение uid в таблицу node с заменой этого значения- вот что я пишу:
PHP
<?php


       $link 
mysql_connect("localhost""admin""pass");
mysql_query("SET NAMES utf8");
mysql_select_db("kursor");
$result mysql_query('SELECT uid FROM users ') ;

while (
$row mysql_fetch_array($result)){
            
$a $row['uid'];
        
mysql_query("UPDATE `node` SET `uid` = '$a' ");
      
        
}


mysql_close($link);

Перебор значений работает - но только присваивается последнее значение из users ? а нада чтоб были все разные - что делаю не так подскажите пожалуйста sad.gif
nighting
у тебя проблема где-то в
PHP
mysql_query("UPDATE `node` SET `uid` = '$a' ")


попробуй поставить вывод ошибок
PHP
mysql_query("UPDATE `node` SET `uid` = '$a' ") or die("Invalid SQL query " mysql_error());


а вообще у тебя кажется все время поочередно обновляются одновременно все `uid` из твоей таблицы `node` и в конце ставит всем последнее значение. Нужно указать какое именно поле `uid` ты меняешь.

_____________
Стране нужны паровозы! Стране нужен метал!
cmdhitman
В этом то и проблема что ставит последнее значение - я хочу чтоб переносилось с заменой всех значений значениям из users.uid Как мне это сделать ? Спасиба за ответ nighting
nighting
попробуй так:
PHP
<?php


       $link 
= mysql_connect("localhost", "admin", "pass");
mysql_query("SET NAMES utf8");
mysql_select_db("kursor");
$result = mysql_query('SELECT uid FROM users ') ;
$resultNode = mysql_query('SELECT uid FROM node ');

while ($row = mysql_fetch_array($result) and $rowNode = mysql_fetch_array($resultNode)){
            $a = $row['uid'];
        mysql_query("UPDATE `node` SET `{$rowNode['uid']}` = '$a' ");
      
        
}


mysql_close($link);


_____________
Стране нужны паровозы! Стране нужен метал!
cmdhitman
Неа - опять тот же результат - меняются только на последние значения (
Viking
думаю должен быть способ это одним запросом сделать, но пока теоретически можно попробовать так:

PHP
<?php


       $link 
= mysql_connect("localhost", "admin", "pass");
mysql_query("SET NAMES utf8");
mysql_select_db("kursor");

mysql_query("update `node` set `uid`=null");

$result = mysql_query('SELECT uid FROM users ') ;

while ($row = mysql_fetch_array($result)){
            $a = $row['uid'];
        mysql_query("UPDATE `node` SET `uid` = '$a' WHERE `uid` is null LIMIT 1");
      
        
}


mysql_close($link);


_____________
Нужно все делать настолько просто, насколько возможно, но не проще.
Альберт Германович
sergeiss
Задача изначально поставлена неполностью. Не хватает условий.
Вопрос автору темы: опиши подробнее, что ты хочешь сделать!!!

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
lawbreaker
Попробуй так:
PHP
<?php


       $link 
mysql_connect("localhost""admin""pass");
mysql_query("SET NAMES utf8");
$result mysql_query('SELECT `uid` FROM `kursor`.`users` ') ;

while (
$row mysql_fetch_array($result)){
        
mysql_query("UPDATE `kursor`.`node` SET uid = '".$row['uid']."' ");
      
        
}


mysql_close($link);

но я чёт не пойму вопрос и задачу wink.gif

_____________
Я Андрей и мне 14 лет :)
И ни как не дождусь когда HardWoman меня удалит
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.