SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.04.2016 11:02:59

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Три запроса с одной таблицы

Здравствуйте.
Как сделать три запроса с одной таблице на одной странице? Отличаться они будут только по параметрам: премиум, стандарт и эконом

Пытал просто отдельно написать запросы на странице не чего не получилось, во втором запросе выводило ошибку
Вот эти запросы
1.

           $result = mysql_query("SELECT * FROM `battery` WHERE premium = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer",$link);
            if (mysql_num_rows($result) > 0){
                        $row = mysql_fetch_array($result);


2.
           $result = mysql_query("SELECT * FROM `battery` WHERE standard = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer",$link);
            if (mysql_num_rows($result) > 0){
                        $row = mysql_fetch_array($result);


3. 
           $result = mysql_query("SELECT * FROM `battery` WHERE ekonom = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer",$link);
            if (mysql_num_rows($result) > 0){
                        $row = mysql_fetch_array($result);

Неактивен

 

#2 06.04.2016 13:56:49

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

А что за ошибка?

Неактивен

 

#3 06.04.2016 20:44:13

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

А что за ошибка?

mysql_num_rows(): supplied argument is not a valid MySQL result resource
и ругается на это строчку во втором запросе     хотя она такая же как и в первом

if (mysql_num_rows($row) > 0){

У себя я вставлял только два запроса, надо еще третий вставить

Неактивен

 

#4 07.04.2016 11:34:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

FAQ пункт №2

FLIX написал:

и ругается на это строчку во втором запросе     хотя она такая же как и в первом

if (mysql_num_rows($row) > 0){

так mysql_num_rows($row) или mysql_num_rows($result) ?

Неактивен

 

#5 07.04.2016 12:58:01

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

FAQ пункт №2

FLIX написал:

и ругается на это строчку во втором запросе     хотя она такая же как и в первом

if (mysql_num_rows($row) > 0){

так mysql_num_rows($row) или mysql_num_rows($result) ?

Выдало Query was empty когда вставил в запрос $result = mysql_query($sql) or die(mysql_error());

Неактивен

 

#6 07.04.2016 17:04:14

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

а $sql у вас чему равен?

нужно
$sql = "SELECT * FROM `battery` WHERE standard = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer";
$result = mysql_query($sql) or die(mysql_error());

Неактивен

 

#7 07.04.2016 18:20:32

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

нужно
$sql = "SELECT * FROM `battery` WHERE standard = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer";
$result = mysql_query($sql) or die(mysql_error());

Выдало You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2"")' at line 1

Неактивен

 

#8 07.04.2016 23:48:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

тогда сам запрос покажите:
$sql = "SELECT * FROM `battery` WHERE standard = 1 $query_country $query_manufacturer $query_brand $query_capacity
$query_current $query_dimensions $query_tiprazmer";
echo $sql;

Неактивен

 

#9 08.04.2016 20:13:40

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

тогда сам запрос покажите:
$sql = "SELECT * FROM `battery` WHERE standard = 1 $query_country $query_manufacturer $query_brand $query_capacity
$query_current $query_dimensions $query_tiprazmer";
echo $sql;

Вот весь запрос

       <?php
            if ($_GET["country"] ) {
                foreach($_GET['country'] as $key => $val)
                    $_GET['country'][$key] = '"' . $val . '"';
                   
                $check_country = implode(',',$_GET["country"]);
            }
            if ($_GET["manufacturer"] ) {
                foreach($_GET['manufacturer'] as $key => $val)
                    $_GET['manufacturer'][$key] = '"' . $val . '"';
                   
                $check_manufacturer = implode(',',$_GET["manufacturer"]);
            }
            if ($_GET["brand"] ) {
                foreach($_GET['brand'] as $key => $val)
                    $_GET['brand'][$key] = '"' . $val . '"';
                   
                $check_brand = implode(',',$_GET["brand"]);
            }
            if ($_GET["capacity"] ) {
                foreach($_GET['capacity'] as $key => $val)
                    $_GET['capacity'][$key] = '"' . $val . '"';
                   
                $check_capacity = implode(',',$_GET["capacity"]);
            }
            if ($_GET["current"] ) {
                foreach($_GET['current'] as $key => $val)
                    $_GET['current'][$key] = '"' . $val . '"';
                   
                $check_current = implode(',',$_GET["current"]);
            }
            if ($_GET["dimensions"] ) {
                foreach($_GET['dimensions'] as $key => $val)
                    $_GET['dimensions'][$key] = '"' . $val . '"';
                   
                $check_dimensions = implode(',',$_GET["dimensions"]);
            }
                        if ($_GET["tiprazmer"] ) {
                foreach($_GET['tiprazmer'] as $key => $val)
                    $_GET['tiprazmer'][$key] = '"' . $val . '"';
                   
                $check_tiprazmer = implode(',',$_GET["tiprazmer"]);
            }
            if (!empty($check_country) OR !empty($check_manufacturer) OR !empty($check_brand) OR !empty($check_capacity) OR !empty($check_current) OR !empty($check_dimensions) OR !empty($check_tiprazmer) ) {
                if (!empty($check_country)) $query_country = " AND country_id IN ($check_country)";
                if (!empty($check_manufacturer)) $query_manufacturer = " AND manufacturer_id IN ($check_manufacturer)";
                if (!empty($check_brand)) $query_brand = " AND brand_id IN ($check_brand)";
                if (!empty($check_capacity)) $query_capacity = " AND capacity_id IN ($check_capacity)";
                if (!empty($check_current)) $query_current = " AND current_id IN ($check_current)";
                if (!empty($check_dimensions)) $query_dimensions = " AND dimensions_id IN ($check_dimensions)";
                if (!empty($check_tiprazmer)) $query_tiprazmer = " AND tiprazmer_id IN ($check_tiprazmer)";
            };
            $result = mysql_query("SELECT * FROM `battery` WHERE standard = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer",$link);    

        if (mysql_num_rows($row) > 0){
                        $row = mysql_fetch_array($result);
                        do{
                            echo '
                        <table border="0" class="c-s-tab-w">
                            <tr>
                                <td width="20%">'
.$row["brand"].'</td>
                                <td width="10%">'
.$row["capacity"].'</td>
                                <td width="10%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["dimensions"].'</td>
                            </tr>
                        </table>    
                    '
;
                }
                    while ($row = mysql_fetch_array($result));
                }
            ?>

Неактивен

 

#10 08.04.2016 20:24:39

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

это не запрос
запрос это та строка, которая отправляется серверу после подстановки всех переменных
что показывает
echo $sql; (см предыдущее сообщение)

Неактивен

 

#11 08.04.2016 21:15:51

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

это не запрос
запрос это та строка, которая отправляется серверу после подстановки всех переменных
что показывает
echo $sql; (см предыдущее сообщение)

Прошу прошение
Вот SELECT * FROM `battery` WHERE standard = 1 AND manufacturer_id IN (""2"")

Неактивен

 

#12 08.04.2016 21:47:50

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

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

Неактивен

 

#13 08.04.2016 21:58:31

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

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

А как сделать это, просто как я говорил что на странице я два отдельных запроса делал и вот в первом запросе выдаёт все правильно SELECT * FROM `battery` WHERE premium = 1 AND manufacturer_id IN ("2") , а во втором дополнительные кавычки не могу понять от куда они берутся

Неактивен

 

#14 08.04.2016 22:21:18

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

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

Неактивен

 

#15 08.04.2016 23:54:46

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

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

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

Неактивен

 

#16 09.04.2016 01:31:51

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

вы хоть код покажите
а ещё лучше внимательно посмотрите на то что идет между запросами, упрощайте пример, выводите на экран результат присвоения и найдете проблему.

Неактивен

 

#17 09.04.2016 10:50:30

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

вы хоть код покажите
а ещё лучше внимательно посмотрите на то что идет между запросами, упрощайте пример, выводите на экран результат присвоения и найдете проблему.

Вот весь код странице

<?php
    session_start();
    include "include/db_connect.php";
    include "functions/functions.php";
    $id = $_GET["id"];
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Каталог аккумуляторов | AMPER.NET.UA</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
            <script type="text/javascript" src="js/jcarousellite_1.0.1.js"></script>
            <script type="text/javascript" src="js/shop-script.js"></script>
    <link rel="stylesheet" type="text/css" href="css/main.css" />
    <link rel="stylesheet" type="text/css" href="css/adaptability.css" />
    <link rel="stylesheet" type="text/css" href="css/pop.css" />
    <link href='https://fonts.googleapis.com/css?family=Open+Sans+Condensed:700,300' rel='stylesheet' type='text/css'>
    <link href='https://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
     <script type="text/javascript">
        $(document).ready(function () {
            $('#cssmenu li.has-sub > a').on('click', function(){
                $(this).removeAttr('href');
                var element = $(this).parent('li');
                if (element.hasClass('open')) {
                    element.removeClass('open');
                    element.find('li').removeClass('open');
                    element.find('ul').slideUp();
                }
                else {
                    element.addClass('open');
                    element.children('ul').slideDown();
                    element.siblings('li').children('ul').slideUp();
                    element.siblings('li').removeClass('open');
                    element.siblings('li').find('li').removeClass('open');
                    element.siblings('li').find('ul').slideUp();
                }
            });

            $('#cssmenu>ul>li.has-sub>a').append('<span class="holder"></span>');
        });
    </script>
</head>
<body>
    <?php include "include/header.php"; ?>
    <?php include "include/mobile-menu.php"; ?>
    <div id="warrper">
        <div id="description">
            <h1>ПОДОБРАТЬ АККУМУЛЯТОР</h1>
        </div>
        <?php include "include/modul-filtr.php"; ?>
        <div id="class-akb"><span>Премиум</span>: Forse, Westa, Vegale</div>
        <div id="battery">
        <?php
            if ($_GET["country"] ) {
                foreach($_GET['country'] as $key => $val)
                    $_GET['country'][$key] = '"' . $val . '"';
                   
                $check_country = implode(',',$_GET["country"]);
            }
            if ($_GET["manufacturer"] ) {
                foreach($_GET['manufacturer'] as $key => $val)
                    $_GET['manufacturer'][$key] = '"' . $val . '"';
                   
                $check_manufacturer = implode(',',$_GET["manufacturer"]);
            }
            if ($_GET["brand"] ) {
                foreach($_GET['brand'] as $key => $val)
                    $_GET['brand'][$key] = '"' . $val . '"';
                   
                $check_brand = implode(',',$_GET["brand"]);
            }
            if ($_GET["capacity"] ) {
                foreach($_GET['capacity'] as $key => $val)
                    $_GET['capacity'][$key] = '"' . $val . '"';
                   
                $check_capacity = implode(',',$_GET["capacity"]);
            }
            if ($_GET["current"] ) {
                foreach($_GET['current'] as $key => $val)
                    $_GET['current'][$key] = '"' . $val . '"';
                   
                $check_current = implode(',',$_GET["current"]);
            }
            if ($_GET["dimensions"] ) {
                foreach($_GET['dimensions'] as $key => $val)
                    $_GET['dimensions'][$key] = '"' . $val . '"';
                   
                $check_dimensions = implode(',',$_GET["dimensions"]);
            }
                        if ($_GET["tiprazmer"] ) {
                foreach($_GET['tiprazmer'] as $key => $val)
                    $_GET['tiprazmer'][$key] = '"' . $val . '"';
                   
                $check_tiprazmer = implode(',',$_GET["tiprazmer"]);
            }
            if (!empty($check_country) OR !empty($check_manufacturer) OR !empty($check_brand) OR !empty($check_capacity) OR !empty($check_current) OR !empty($check_dimensions) OR !empty($check_tiprazmer) ) {
                if (!empty($check_country)) $query_country = " AND country_id IN ($check_country)";
                if (!empty($check_manufacturer)) $query_manufacturer = " AND manufacturer_id IN ($check_manufacturer)";
                if (!empty($check_brand)) $query_brand = " AND brand_id IN ($check_brand)";
                if (!empty($check_capacity)) $query_capacity = " AND capacity_id IN ($check_capacity)";
                if (!empty($check_current)) $query_current = " AND current_id IN ($check_current)";
                if (!empty($check_dimensions)) $query_dimensions = " AND dimensions_id IN ($check_dimensions)";
                if (!empty($check_tiprazmer)) $query_tiprazmer = " AND tiprazmer_id IN ($check_tiprazmer)";
            };
            $result = mysql_query("SELECT * FROM battery WHERE premium = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer",$link);
            if (mysql_num_rows($result) > 0){
                        $row = mysql_fetch_array($result);
                        do{
                            echo '
                        <table border="0" class="c-s-tab-w">
                            <tr>
                                <td width="20%">'
.$row["brand"].'</td>
                                <td width="10%">'
.$row["capacity"].'</td>
                                <td width="10%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["dimensions"].'</td>
                            </tr>
                        </table>    
                    '
;
                }
                    while ($row = mysql_fetch_array($result));
                }
            ?>
        </div>
        <div id="class-akb"><span>Премиум</span>: Forse, Westa, Vegale</div>
        <div id="battery">
        <?php
            if ($_GET["country"] ) {
                foreach($_GET['country'] as $key => $val)
                    $_GET['country'][$key] = '' . $val . '';
                   
                $check_country = implode(',',$_GET["country"]);
            }
            if ($_GET["manufacturer"] ) {
                foreach($_GET['manufacturer'] as $key => $val)
                    $_GET['manufacturer'][$key] = '' . $val . '';
                   
                $check_manufacturer = implode(',',$_GET["manufacturer"]);
            }
            if ($_GET["brand"] ) {
                foreach($_GET['brand'] as $key => $val)
                    $_GET['brand'][$key] = '' . $val . '';
                   
                $check_brand = implode(',',$_GET["brand"]);
            }
            if ($_GET["capacity"] ) {
                foreach($_GET['capacity'] as $key => $val)
                    $_GET['capacity'][$key] = '' . $val . '';
                   
                $check_capacity = implode(',',$_GET["capacity"]);
            }
            if ($_GET["current"] ) {
                foreach($_GET['current'] as $key => $val)
                    $_GET['current'][$key] = '' . $val . '';
                   
                $check_current = implode(',',$_GET["current"]);
            }
            if ($_GET["dimensions"] ) {
                foreach($_GET['dimensions'] as $key => $val)
                    $_GET['dimensions'][$key] = '' . $val . '';
                   
                $check_dimensions = implode(',',$_GET["dimensions"]);
            }
                        if ($_GET["tiprazmer"] ) {
                foreach($_GET['tiprazmer'] as $key => $val)
                    $_GET['tiprazmer'][$key] = '' . $val . '';
                   
                $check_tiprazmer = implode(',',$_GET["tiprazmer"]);
            }
            if (!empty($check_country) OR !empty($check_manufacturer) OR !empty($check_brand) OR !empty($check_capacity) OR !empty($check_current) OR !empty($check_dimensions) OR !empty($check_tiprazmer) ) {
                if (!empty($check_country)) $query_country = " AND country_id IN ($check_country)";
                if (!empty($check_manufacturer)) $query_manufacturer = " AND manufacturer_id IN ($check_manufacturer)";
                if (!empty($check_brand)) $query_brand = " AND brand_id IN ($check_brand)";
                if (!empty($check_capacity)) $query_capacity = " AND capacity_id IN ($check_capacity)";
                if (!empty($check_current)) $query_current = " AND current_id IN ($check_current)";
                if (!empty($check_dimensions)) $query_dimensions = " AND dimensions_id IN ($check_dimensions)";
                if (!empty($check_tiprazmer)) $query_tiprazmer = " AND tiprazmer_id IN ($check_tiprazmer)";
            };
            $result = mysql_query("SELECT * FROM battery WHERE standard = 1 $query_country $query_manufacturer $query_brand $query_capacity $query_current $query_dimensions $query_tiprazmer",$link);
        if (mysql_num_rows($row) > 0){
                        $row = mysql_fetch_array($result);
                        do{
                            echo '
                        <table border="0" class="c-s-tab-w">
                            <tr>
                                <td width="20%">'
.$row["brand"].'</td>
                                <td width="10%">'
.$row["capacity"].'</td>
                                <td width="10%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["capacity"].'</td>
                                <td width="20%">'
.$row["dimensions"].'</td>
                            </tr>
                        </table>    
                    '
;
                }
                    while ($row = mysql_fetch_array($result));
                }
            ?>
        </div>
    </div>
    <?php include "include/footer.php"; ?>
</body>
</html>

Неактивен

 

#18 09.04.2016 13:03:39

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

у вас есть массив $_GET["manufacturer"]
вы добавили к каждому эл-ту двойные кавычки:

            if ($_GET["manufacturer"] ) {
                foreach($_GET['manufacturer'] as $key => $val)
                    $_GET['manufacturer'][$key] = '"' . $val . '"';

выполнили запрос
SELECT * FROM battery WHERE premium = 1 ..

после чего снова добавляете к каждому элементу массива двойные кавычки:

            if ($_GET["manufacturer"] ) {
                foreach($_GET['manufacturer'] as $key => $val)
                    $_GET['manufacturer'][$key] = '' . $val . '';


--
в период отладки выводите на экран значения переменных (массивов) и сразу станет понятно что и откуда берется.

Неактивен

 

#19 11.04.2016 14:41:28

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

у вас есть массив $_GET["manufacturer"]
вы добавили к каждому эл-ту двойные кавычки:

            if ($_GET["manufacturer"] ) {
                foreach($_GET['manufacturer'] as $key => $val)
                    $_GET['manufacturer'][$key] = '"' . $val . '"';

выполнили запрос
SELECT * FROM battery WHERE premium = 1 ..

после чего снова добавляете к каждому элементу массива двойные кавычки:

            if ($_GET["manufacturer"] ) {
                foreach($_GET['manufacturer'] as $key => $val)
                    $_GET['manufacturer'][$key] = '' . $val . '';


--
в период отладки выводите на экран значения переменных (массивов) и сразу станет понятно что и откуда берется.

Я по ходу сильно туплю, но так и не решил эту проблему(

Неактивен

 

#20 11.04.2016 14:54:44

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

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

Неактивен

 

#21 11.04.2016 21:39:58

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

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

Не много изменил и все равно ошибку даёт, $sql; показывает SELECT * FROM `battery` WHERE premium = 1 AND brand_id IN (2)  и во втором запросе SELECT * FROM `battery` WHERE standard = 1 AND brand_id IN (2) , а ошибка Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

Поменял на такое

               if ($_GET["country"]) {
                        $check_brand = implode(',',$_GET["country"]);
                    };                
                    if ($_GET["manufacturer"]) {
                        $check_brand = implode(',',$_GET["manufacturer"]);
                    };
                    if ($_GET["brand"]) {
                        $check_brand = implode(',',$_GET["brand"]);
                    };
                    if ($_GET["capacity"]) {
                        $check_brand = implode(',',$_GET["capacity"]);
                    };
                    if ($_GET["current"]) {
                        $check_brand = implode(',',$_GET["current"]);
                    };
                    if ($_GET["dimensions"]) {
                        $check_brand = implode(',',$_GET["dimensions"]);
                    };
                    if ($_GET["tiprazmer"]) {
                        $check_brand = implode(',',$_GET["tiprazmer"]);
                    };                        
                   


            if (!empty($check_country) OR !empty($check_manufacturer) OR !empty($check_brand) OR !empty($check_capacity) OR !empty($check_current) OR !empty($check_dimensions) OR !empty($check_tiprazmer) ) {
                if (!empty($check_country)) $query_country = " AND country_id IN ($check_country)";
                if (!empty($check_manufacturer)) $query_manufacturer = " AND manufacturer_id IN ($check_manufacturer)";
                if (!empty($check_brand)) $query_brand = " AND brand_id IN ($check_brand)";
                if (!empty($check_capacity)) $query_capacity = " AND capacity_id IN ($check_capacity)";
                if (!empty($check_current)) $query_current = " AND current_id IN ($check_current)";
                if (!empty($check_dimensions)) $query_dimensions = " AND dimensions_id IN ($check_dimensions)";
                if (!empty($check_tiprazmer)) $query_tiprazmer = " AND tiprazmer_id IN ($check_tiprazmer)";
            };

Неактивен

 

#22 11.04.2016 23:08:04

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

1.

FLIX написал:

Поменял на такое

что изменится, если вы вообще уберете данный код перед вторым запросом.

2.
$result = mysql_query("SELECT * FROM
if (mysql_num_rows($row)

указатель на результат запроса, содержится в переменной $result, а не $row

3. вы зря не делаете обработку ошибок, посмотрите Удобные функции PHP для работы с MySQL

Неактивен

 

#23 12.04.2016 01:40:52

FLIX
Участник
Зарегистрирован: 30.03.2016
Сообщений: 20

Re: Три запроса с одной таблицы

vasya написал:

1.

FLIX написал:

Поменял на такое

что изменится, если вы вообще уберете данный код перед вторым запросом.

Ошибка остается такая же

SELECT * FROM `battery` WHERE standard = 1 AND manufacturer_id IN ("2")

Отредактированно FLIX (12.04.2016 01:48:21)

Неактивен

 

#24 12.04.2016 09:20:04

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Три запроса с одной таблицы

в данный момент ошибка у вас, потому что
$result = mysql_query("SELECT * FROM
if (mysql_num_rows($row)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson