Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Будет запрос с джоинами, в котором будут выбираться посты за последнее время, т.е. самые свежие с лимитом каким-нибудь, скажем 5-10. Сделал я выборку и вывел их. Затем мне нужно сделать на сайте еще один блок, в котором будут выводиться те же посты, но выборка должна быть не по дате, как в 1-м случае, а случайным образом, с тем же лимитом. Вот и хотелось бы уместить всё в один запрос. задался вопросом - возможно ли такое.Конкретики хотелось бы
$q = mysql_query("SELECT * FROM `table` WHERE `id`=1 UNION ALL SELECT COUNT(`id`) FROM `table2` WHERE `pid`=1");
$t1 = mysql_fetch_assoc($q);
$t2 = mysql_fetch_assoc($q);
$q = mysql_query("SELECT * FROM `table` WHERE `id`=1 UNION ALL SELECT COUNT(`id`) FROM `table2` WHERE `pid`=1");
$t1 = mysql_fetch_assoc($q);
$t2 = mysql_fetch_assoc($q);
$q = "SELECT * FROM `table` WHERE `id`=1 UNION ALL SELECT COUNT(`id`) FROM `table2` WHERE `pid`=1";
$result=mysql_query($q);
while ($row=mysql_fetch_assoc($result)) {
echo $row["userid"]; // поля из таблицы
}
непонятно чем $t1 отличается от $t2 и потерян $result = mysql_query($q);Код:$q = mysql_query("SELECT * FROM `table` WHERE `id`=1 UNION ALL SELECT COUNT(`id`) FROM `table2` WHERE `pid`=1"); $t1 = mysql_fetch_assoc($q); $t2 = mysql_fetch_assoc($q);
Код:$q = mysql_query("SELECT * FROM `table` WHERE `id`=1 UNION ALL SELECT COUNT(`id`) FROM `table2` WHERE `pid`=1"); [COLOR=#0000bb]$result [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]mysql_query[/COLOR][COLOR=#007700]([/COLOR]$q[COLOR=#007700]);[/COLOR] [COLOR=#007700]while ([/COLOR][COLOR=#0000bb]$row [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]mysql_fetch_assoc[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]$result[/COLOR][COLOR=#007700])) { echo [/COLOR][COLOR=#0000bb]$row[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]"userid"[/COLOR][COLOR=#007700]]; // поля из таблицы echo [/COLOR][COLOR=#0000bb]$row[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]"fullname"[/COLOR][COLOR=#007700]]; echo [/COLOR][COLOR=#0000bb]$row[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]"userstatus"[/COLOR][COLOR=#007700]]; }[/COLOR]
$query = mysql_query('SELECT * FROM `table` WHERE `id`=1 UNION ALL SELECT * FROM `table2` WHERE `pid`=1');
if (mysql_num_rows($query) > 0) {
while ($row = mysql_fetch_assoc($query)) {
// Твой код
}
}
Notice that each SELECT statement within the UNION must have the same number of columns. The columns must also have similar data types. Also, the columns in each SELECT statement must be in the same order.
Внимательно посмотри на sql запрос - результат его выполнения 2 строки, смысла в цикле while в таком случае просто нет!непонятно чем $t1 отличается от $t2 и потерян