1. Начата процедура восстановления социальных групп. Лидерам старых и новых групп обязательно ознакомиться с регламентом проведения работ.

Помогите сократить запросы.

Тема в разделе 'Базы данных', создана пользователем Runapa, 4 ноя 2011.


  1. ошибочка у вас
    while ($out=mysql_fetch_assoc($res)){
    if ($out['id']==$p){
    $sub_row = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
    $row = mysql_fetch_array($sub_row);

    зачем вложенные запросы к базе?
    у вас и так все есть что вам нужно


    $sql = "SELECT * FROM sub_pages WHERE cat in('$p','$cat')or id='$p'";
    $res = mysql_query($sql);
    while ($out=mysql_fetch_assoc($res)){
    if ($out['id']==$p){$row = $out;}
    if ($out['cat']==$cat){$result_category = $out;}
    if ($out['cat']==$p){$result_cat = $out}
    }
    на выходе имеем ассоциативные масссивы $row, $result_category,$result_cat
    с которыми дальше делайте что хотите.
  2. PHP:
    $sql "SELECT * FROM sub_pages WHERE cat in('$p','$cat')";
    $res mysql_query($sql);
    while (
    $out=mysql_fetch_assoc($res)){
    if (
    $out['id']==$p){$row $out$sub_text $row["text_rus"];}
    if (
    $out['cat']==$cat){$result_category mysql_query($sql) or die(mysql_error() ."<br/>"$sql);}
    if (
    $out['cat']==$p){$result_cat mysql_query($sql) or die(mysql_error() ."<br/>"$sql);}

    Остановился на таком варианте, так как не смог придумать, что делать с теми переменными. В цикле их вывести не получилось...