|
|
|
| Вобщем у меня есть старница... Вот такая к примеру:
<?
$sql = mysql_query("SELECT * FROM Table_Name_1 WHERE uid='$uid' AND pwd='$pwd'");
$sq = mysql_fetch_array($sql);
if(mysql_num_rows($sql) != 0)
{
$balance = mysql_query("SELECT * FROM Table_Name_2 WHERE uid='$uid'");
if($balance)
{
while($user_b = mysql_fetch_array($balance))
{
и т.д....
?>
|
Нужно, чтобы второй запрос тоже работал. Таблицы находятся в одной базе, но желательно рассмотреть и вариант, когда они в разных базах... | |
|
|
|
|
|
|
|
для: evgen_17
(30.03.2005 в 18:55)
| | Так а сейчас работает или нет? Если не срабатывает второй запрос, может первый возвращает 0 строк? | |
|
|
|
|
|
|
|
для: cheops
(31.03.2005 в 00:32)
| | Этот код работает, если переменные вытаскиваются из одной таблицы... А нужно, чтобы из разных... А ещё лучше, если таблицы будут находится в разных базах. Первый запрос точно не возвращает 0... | |
|
|
|
|
|
|
|
для: evgen_17
(31.03.2005 в 11:46)
| | Вообще говоря странно, что для разных таблиц не работает - обычно с этим проблем не бывает. Для работы с разными базами данных устанавливают два соединения и дескрипторы соединения явно передают всем MySQL-функциям в качестве второго параметра. | |
|
|
|
|
|
|
|
для: cheops
(01.04.2005 в 00:18)
| | Хм... Т.е. насколько я понял, должно работать? А может дело в if(mysql_num_rows(..))??? Просто, если выборку из другой таблицы разместить за пределами этого условия, то всё работает... | |
|
|
|
|
|
|
|
для: evgen_17
(01.04.2005 в 21:39)
| | Вы знаете, я кажется понял... попробуйте поместить
<?php
$sq = mysql_fetch_array($sql);
?>
|
после
<?php
if(mysql_num_rows($sql) != 0)
{
?>
|
Если запрос возвращают одну запись, то функция mysql_fetch_array устанавливает дескриптор запроса в конец - это может отражаться на работе функции mysql_num_rows. | |
|
|
|
|
|
|
|
для: cheops
(01.04.2005 в 22:36)
| |
<?
$query = "SELECT * FROM news";
connect(); // подключаемся
$request = mysql_query($query) or die (mysql_error());
$show = mysql_fetch_array($request))
?>
|
Таблица News
id author news_name news_body category create_date status
|
Где Status - text 1 или 0.
Нужно сформировать две таблицы. Одна таблица включает в себя все те строки, где Status = 1 , другая, соответсвенно, где Status = 0. Подозреваю что можно это сделать одним запросом, а потом результат обработать. как?? | |
|
|
|
|
|
|
|
для: RV
(02.04.2005 в 20:05)
| | А вы отсортируйте по полю Status - у вас в начале будет 0, а потом 1 - при выборке в цикле while - следите когда вместо 0 пойдут 1 и включайте другой логический блок
<?
$query = "SELECT * FROM news ORDER BY status";
connect(); // подключаемся
$request = mysql_query($query) or die (mysql_error());
$show = mysql_fetch_array($request))
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(02.04.2005 в 20:15)
| | аа следить в цикле как?
<?
$query = "SELECT * FROM news ORDER BY status";
$request = mysql_query($query) or die (mysql_error());
$show = mysql_fetch_array($request);
while ($show['status'] === "1")
{
?>
генерируем таблицу
<? }
while ($show['status'] === "0")
{
?>
генерируем вторую таблицу
<? } ?>
|
| |
|
|
|
|
|
|
|
для: RV
(03.04.2005 в 05:35)
| | Примерно следующим образом
<?
$query = "SELECT * FROM news ORDER BY status";
$request = mysql_query($query) or die (mysql_error());
while ($show = mysql_fetch_array($request))
{
if($show['status'] === "0") $arr0[] = $show['name'];
if($show['status'] === "1") $arr1[] = $show['name'];
}
foreach($arr0 as $value)
{
// генерируем таблицу
}
foreach($arr1 as $value)
{
// генерируем вторую таблицу
}
?>
|
Идея в том, чтобы отсортировать полученные данные в два различных массива, а потом уже на их основании отдельно формировать обе таблицы. | |
|
|
|
|
|
|
|
для: cheops
(03.04.2005 в 11:48)
| | не работает.
<?
while ($show = mysql_fetch_array($request))
{
if($show['status'] === "0") $arr0[] = $show['name'];
if($show['status'] === "1") $arr1[] = $show['name'];
}
foreach($arr0 as $value)
{ ?>
<td><?=$show['id']?></td><td><?=$show['author']?></td><td><?=$show['create_date']?></td> и т.д
<?} foreach($arr1 as $value) { ?>
<td><?=$show['id']?></td><td><?=$show['author']?></td><td><?=$show['create_date']?></td> и т.д
<? } ?>
|
не понимаю
$arr0[] = $show['name']; почему только name ?
и
foreach($arr1 as $value) | |
|
|
|
|
|
|
|
для: RV
(03.04.2005 в 19:27)
| | А нет, name это из-за того, что я не знаю структуру таблицы, в массивы следует размещать реальные значения
<?php
$i = 0;
$k = 0;
while ($show = mysql_fetch_array($request))
{
if($show['status'] === "0")
{
$arr0[$i]['author'] = $show['author'];
$arr0[$i]['create_date'] = $show['create_date'];
$arr0[$i]['id'] = $show['id'];
$i++;
}
if($show['status'] === "1")
{
$arr1[$k]['author'] = $show['author'];
$arr1[$k]['create_date'] = $show['create_date'];
$arr1[$k]['id'] = $show['id'];
$k++;
}
}
foreach($arr0 as $value)
{ ?>
<td><?=$value['id']?></td><td><?=$value['author']?></td><td><?=$value['create_date']?></td> и т.д
<?} foreach($arr1 as $value) { ?>
<td><?=$value['id']?></td><td><?=$value['author']?></td><td><?=$value['create_date']?></td> и т.д
<? } ?>
|
| |
|
|
|