Вопрос - Ответ по MySQL

Печать RSS
3101

О

Землянин
0
Все выводит. В моем примере я указал в условии значение 1. Сервер не нашел искомого. поменяй на 0 или 2 тогда сервер вернет соответствующие записи
М

Пацак
0
341. Aligan, точно, как я не заметил, терь новая странная ошибка, выводит первый раздел два раза, 4й - три раза
О

Землянин
0
Это не ошибка. Так и должно быть. Почему? Опять же принцип реляционой алгебры. У тебя построено следущее отношение таблицы loads_cats и loads — один ко многим. Значит раздел будет повторяться столько раз сколько в нем подразделов.
Да и еще вместо left join тут лучше измени на INNER JOIN
М

Пацак
0
343. Aligan, и что нет никакого способа не выводить разделы столько раз сколько в них подразделов, их же просто некуда деть
О

Землянин
0
Есть конечно. Самый правильный поставить условие в самом цикле.
М

Пацак
0
Но как это сделать?
сделал вот так, но что-то неверно, return нужно где-то использовать наверно т.к. выводит количество только для одного раздела, но выводит его уже правильно =), не могли бы подправить
$check_dir = mysql_query("SELECT (`id`) FROM `loads_cats` WHERE `id_cat` = '$id'"); 
while($row = mysql_fetch_assoc($check_dir)){ 
$result = mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `id_cat` = '".$row['id']."'"), 0); 
echo $result; 
}
Изменил: Михаил (27.08.2010 / 20:47)
О

Землянин
0
Не знаю, не доходит и все. НИКОГДА не пишите в цикличном выводе запросы. Это губительно.
<?

   

   $sql = mysql_query("
	SELECT
    	loads_cats.id,
    	loads_cats.id_cat,
    	loads_cats.name,
    	loads.name AS name_file,
    	loads.id AS id_file
	FROM
    	loads_cats
	INNER JOIN
    	loads ON loads.id_cat =  loads_cats.id
	WHERE
    	loads_cats.`id_cat` = 0");

 if($sql && mysql_num_rows($sql)>0){
 	while($arr = mysql_fetch_assoc($sql)){

 		if($id != $arr['id']){
 			echo $arr['name'].'</br>';
 			echo '&nbsp;&nbsp;----'.$arr['name_file'].'<br />';
 			$id = $arr['id'];
 		}
 		else{
 			echo '&nbsp;&nbsp;----'.$arr['name_file'].'<br />';
 		}
 	}
 }

?>

Л

Пришелец
0
Может вопрос глупый,но всё же спрошу.Сделала экспорт базы с хоста и теперь незнаю как на Денвер залить,через запрос не получается.Может можно инсталятор сделать?
М

Пацак
0
выдели весь запрос старый и вставь его в phpmyadmin на денвере через SQL
W

Землянин
0
вопрос по части оптимизации, нужно ли ставить индексы на поля по которым идет сортировка?
ORDER BY `field`
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск