Как можно вывести все записи с 2х таблиц ? В данный момент есть такой запрос но он не куда не годится выводятся записи только с 1й таблицы... PHP: <? $result = mysql_query("SELECT * FROM table1, table2 ORDER BY RAND() LIMIT 25"); while($list = mysql_fetch_array($result)) { if(mysql_num_rows($result) == 0) { echo "Список пуст"; } ?> <span class=""><?php echo $list["title"] ?></span> <? } ?>
Каким образом ? Можете показать пример ? Если так то выдает ошибку: Warning: mysql_fetch_array() expects parameter 2 to be long, resource given in on line 238 PHP: <? $result = mysql_query("SELECT * FROM table1 ORDER BY RAND() LIMIT 2"); $result1 = mysql_query("SELECT * FROM table2 ORDER BY RAND() LIMIT 2"); while($list = mysql_fetch_array($result, $result1)) { if(mysql_num_rows($result, $result1) == 0) { echo "Список пуст"; } ?> <span class=""><?php echo $list["title"] ?></span> <? } ?>
Первый запрос пишет в $var1, второй в var2 PHP: $result = mysqli_fetch_assoc($var1); $result .= mysqli_fetch_assoc($var2); Если не ошибаюсь, так должно работать.
Код (Text): SELECT * FROM table1 ORDER BY RAND() LIMIT 2 UNION SELECT * FROM table2 ORDER BY RAND() LIMIT 2 как то так =) --- Добавлено --- только количество и типы столбцов обязаны совпадать
блин, ребятки, вы ща научите тут тело он завалит сервак хостера и прибежит будет рассказывать о нагрузке и почему меня выгнали с хостинга!!!! Код (Text): SELECT id (ну или че у тебя там в AI) FROM table2 array_rand (то что выбралось из Бд, 2) // 2 это 2 случайных значения SELECT * FROM table2 WHERE id IN (implode то что из array_rand) Только так, ORDER BY RAND положит любой сервак на большой таблице
VPS и mysql_query вещи ваще несовместимые я надеюсь в ближайшее время эту шнягу выпилят из всех реп и только у (не буду делать рекрамму) останется возможность юзать пхп 4
PHP: <? $var1 = 'mysql_query("SELECT * FROM table1")'; $var2 = 'mysql_query("SELECT * FROM table2")'; $result = mysql_fetch_assoc($var1); $result = mysql_fetch_assoc($var2); while($list = $result) { if(mysql_num_rows($result) == 0) { echo "Список пуст"; } ?> <span class=""><?php echo $list["title"] ?></span> <? } ?> Не работает выдает ошибку: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in on line 240 --- Добавлено --- Запутался прост, без ковычек выходит первая запись второй таблицы бесконечно
Ссылки по теме http://secure.php.net/manual/ru/book.mysqli.php http://secure.php.net/manual/ru/ref.pdo-mysql.php http://www.mysql.ru/docs/man/JOIN.html
чего ты юниона то испугался он распалеливает 2 запроса .. выполняет их и потом просто склеивает друг за другом - какраз то что ты хочешь или я чего не понимаю ?
без кАвычек выходит первая запись второй таблицы бесконечно! <? $var1 = mysql_query("SELECT * FROM table1"); $var2 = mysql_query("SELECT * FROM table2"); $result = mysql_fetch_assoc($var1); $result = mysql_fetch_assoc($var2); while($list = $result) { if(mysql_num_rows($result) == 0) { echo "Список пуст"; } ?> <span class=""><?php echo $list["title"] ?></span> <? } ?> *как раз у меня столбцы в таблицах разные и количество тоже были бы одинаковые закинул бы все в 1 таблицу
PHP: $result = mysql_fetch_assoc($var1); $result = mysql_fetch_assoc($var2); тут ничего не замечаешь?
фантазии на тему разного количества столбцов и юнион http://sqlfiddle.com/#!9/e4de9/1 могу мнооого я фантазировать... можно удалить столбцы "лишние" можно "лишние" показать можно вот такой финт провернуть PHP: <? $var1 = mysql_query("SELECT * FROM table1"); $var2 = mysql_query("SELECT * FROM table2"); $result = mysql_fetch_assoc($var1); $result2 = mysql_fetch_assoc($var2); while($list = $result) { if(mysql_num_rows($result) == 0) { echo "Список пуст"; } ?> <span class=""><?php echo $list["title"] ?></span> <? } while($list = $result2) { if(mysql_num_rows($result2) == 0) { echo "Список пуст"; } ?> <span class=""><?php echo $list["title"] ?></span> <? } ?> продолжать ? кому не понравится повторение кода - можно в функцию засунуть ..