Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка из двух баз данных
 
 автор: kvins   (05.03.2011 в 21:21)   письмо автору
 
 

у меня выборка из 2 баз , потом идет цикл , выводит список
не знаю как использовать больше 1 значения

знаю что не всем нравится цикл do while но привык ее использовать =)
но если этим циклом невозможно сделать то подскажите как делать другим а то я редко пользовался
for и while

do {
    printf ("
    <p>вас приглашает %s </p>
    <form action='choise_friend.php' method='post'>
    <input name='yes' type='hidden' value='%s'>
        <input name='ye' type='hidden' value='%s'>
    <input type='submit' value='yes'>
    </form>
    
        <form action='choise_friend.php' method='post'>
        <input name='no' type='hidden' value='q'>
    <input type='submit' value='no'>
    
    </form>
    ", $inuserf2['login'],$choose['idgive'],$fri(тут 2 базы  $inuser  и $choose)
    );
    }

while ($choose = mysql_fetch_array ($choice));   ЗДЕСЬ НЕЗНАЮ
КАК ВТОРОЕ ЗНАЧЕНИЕ ДАТЬ СО ВТОРОЙ БАЗЫ ВЫБОРКИ
 

  Ответить  
 
 автор: Valick   (06.03.2011 в 00:22)   письмо автору
 
   для: kvins   (05.03.2011 в 21:21)
 

>у меня выборка из 2 баз
а у меня в шкафу дикобраз :)
__
задавая вопрос описывайте назначение баз и таблиц (+ показывайте структуру таблиц)
описывайте, что и зачем Вы делаете, какие данные вы достаете и что хотите получить в конечном результате, это сэкономит не только Ваше время, но и наши нервы)

знаю что не всем нравится цикл do while но привык ее использовать =)
так отвыкайте, это гораздо проще чем бросить курить.
не нравиться она не потому что не нравиться, а потому что она тут не к месту (об этом уже пипец сколько писали)
хотя вместо перчаток можно одеть и носки, руки не замерзнут, но выглядеть Вы будите странновато...

  Ответить  
 
 автор: kvins   (06.03.2011 в 14:38)   письмо автору
 
   для: Valick   (06.03.2011 в 00:22)
 

существует 2 базы

$choice = mysql_query ("SELECT * FROM friends WHERE idtake =$fri");
$choose = mysql_fetch_array ($choice);
$idgive = $choose['idgive'];

    $userf2 = mysql_query ("SELECT login,pass FROM user  WHERE id=$idgive");
    if (mysql_num_rows($choice) > 0)  {
$inuserf2 = mysql_fetch_array($userf2);


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

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

do {
    printf ("
    <p>вас приглашает %s </p>
    <form action='choise_friend.php' method='post'>
    <input name='yes' type='hidden' value='%s'>
        <input name='ye' type='hidden' value='%s'>
                <input name='y' type='hidden' value='%s'>

    <input type='submit' value='yes'>
    </form>
    
        <form action='choise_friend.php' method='post'>
        <input name='no' type='hidden' value='q'>
    <input type='submit' value='no'>
    
    </form>
    ", $inuserf2['login'],$choose['idgive'],$fri,$right
    );
    }

while ($choose = mysql_fetch_array ($choice));   /* 
 mysql_fetch_array($userf2) */



вот проблема в том не знаю как вставить имя каждого кто подавал запрос ,

в этом скрипте выводится только самый первый человек кто подал запрос

  Ответить  
 
 автор: cheops   (06.03.2011 в 14:44)   письмо автору
 
   для: kvins   (05.03.2011 в 21:21)
 

1) Приведите пожалуйста ваш запрос.
2) Если не сложно, объясните чего хотите добиться, вам нужно получить значения из двух таблиц, расположенных в друх разных базах данных? Или требуется что-то другое?

  Ответить  
 
 автор: kvins   (06.03.2011 в 15:31)   письмо автору
 
   для: cheops   (06.03.2011 в 14:44)
 

>>>вам нужно получить значения из двух таблиц, расположенных в друх разных базах данных?

по моему я так и писал =)

мне нужно 2 значения в цикле для обработки

1 это значение первой базы
2 это значение второй базы

в принципе в коде проблем нет поэтому мне нужно просто показать как передать значения циклу из 2 разных баз

  Ответить  
 
 автор: cheops   (06.03.2011 в 17:10)   письмо автору
 
   для: kvins   (06.03.2011 в 15:31)
 

Обычно это делают не в цикле, а в запросе (если имеется пользователь, с доступом к обеим базам данных). В любом случае, даже если такого пользователя нет, необходимо больше подробностей о таблицах и их связях, так как в одном случае нужно два отдельных цикла, в другом случае формирование запроса к таблице с использованием информации из другого запроса, в третьем вложенные запросы. Чтобы опубликовать наиболее оптимальное решение, нужно больше подробностей о том, что на входе (что за таблицы и что в них) и что на выходе (что должно получиться в конце концов).

  Ответить  
 
 автор: kvins   (06.03.2011 в 17:39)   письмо автору
 
   для: cheops   (06.03.2011 в 17:10)
 

спс я уже сделал по другому а то это очень запутанно как то получилось =)

просто я расширил первую базу , и добавил туда то что было нужно .
а первая стала не нужна и я ее удалил

  Ответить  
 
 автор: cheops   (06.03.2011 в 17:45)   письмо автору
 
   для: kvins   (06.03.2011 в 17:39)
 

С двумя базами данных удобно работать, если они расположены на одном сервере и обслуживаются одним пользователем. В этом случае можно прибегать к расширенным именам в SQL-запросах, с указанием имени базы данных. В любых других случаях, с такими ситуациями достаточно много мороки, так как необходимо поддерживать два соединения и везде четко указывать дескрипторы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования