Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cassanelli5

Estou fazendo um site PHP Mysql Dreamweaver.

Recommended Posts

Estou fazendo um site PHP Mysql no Dreamweaver.

Tenho um script assim:

 

 $maxRows_Rs_Jslider = 8;
$pageNum_Rs_Jslider = 0;
if (isset($_GET['pageNum_Rs_Jslider'])) {
 $pageNum_Rs_Jslider = $_GET['pageNum_Rs_Jslider'];
}
$startRow_Rs_Jslider = $pageNum_Rs_Jslider * $maxRows_Rs_Jslider;

mysql_select_db($database_PN_BD, $PN_BD);
$query_Rs_Jslider = "SELECT * FROM pn_noticias, pn_categorias WHERE pn_noticias.intCatID = pn_categorias.intCatID AND pn_noticias.intImgNotID <> '0' ORDER BY pn_noticias.intNotID DESC";
$query_limit_Rs_Jslider = sprintf("%s LIMIT %d, %d", $query_Rs_Jslider, $startRow_Rs_Jslider, $maxRows_Rs_Jslider);
$Rs_Jslider = mysql_query($query_limit_Rs_Jslider, $PN_BD) or die(mysql_error());
$row_Rs_Jslider = mysql_fetch_assoc($Rs_Jslider);

if (isset($_GET['totalRows_Rs_Jslider'])) {
 $totalRows_Rs_Jslider = $_GET['totalRows_Rs_Jslider'];
} else {
 $all_Rs_Jslider = mysql_query($query_Rs_Jslider);
 $totalRows_Rs_Jslider = mysql_num_rows($all_Rs_Jslider);
}
$totalPages_Rs_Jslider = ceil($totalRows_Rs_Jslider/$maxRows_Rs_Jslider)-1;

 

O qual vai retornar para em um slider 8 resultados da consulta na tabela noticias!

 

E outros 2 que deve retornar um consulta por categoria exceto os resultados da consulta acima: "Rs_Jslider"

$maxRows_Rs_HmNoticias2 = 3;
$pageNum_Rs_HmNoticias2 = 0;
if (isset($_GET['pageNum_Rs_HmNoticias2'])) {
 $pageNum_Rs_HmNoticias2 = $_GET['pageNum_Rs_HmNoticias2'];
}
$startRow_Rs_HmNoticias2 = $pageNum_Rs_HmNoticias2 * $maxRows_Rs_HmNoticias2;

mysql_select_db($database_PN_BD, $PN_BD);
 $query_Rs_HmNoticias2 = "SELECT * FROM pn_noticias WHERE pn_noticias.intNotID <>  ".$row_Rs_Jslider['intNotID']." AND pn_noticias.intCatID = '1' ORDER BY pn_noticias.intNotID DESC";
$query_limit_Rs_HmNoticias2 = sprintf("%s LIMIT %d, %d", $query_Rs_HmNoticias2, $startRow_Rs_HmNoticias2, $maxRows_Rs_HmNoticias2);
$Rs_HmNoticias2 = mysql_query($query_limit_Rs_HmNoticias2, $PN_BD) or die(mysql_error());
$row_Rs_HmNoticias2 = mysql_fetch_assoc($Rs_HmNoticias2);

if (isset($_GET['totalRows_Rs_HmNoticias2'])) {
 $totalRows_Rs_HmNoticias2 = $_GET['totalRows_Rs_HmNoticias2'];
} else {
 $all_Rs_HmNoticias2 = mysql_query($query_Rs_HmNoticias2);
 $totalRows_Rs_HmNoticias2 = mysql_num_rows($all_Rs_HmNoticias2);
}
$totalPages_Rs_HmNoticias2 = ceil($totalRows_Rs_HmNoticias2/$maxRows_Rs_HmNoticias2)-1; 

e

$maxRows_Rs_HmEsportes2 = 3;
$pageNum_Rs_HmEsportes2 = 0;
if (isset($_GET['pageNum_Rs_HmEsportes2'])) {
 $pageNum_Rs_HmEsportes2 = $_GET['pageNum_Rs_HmEsportes2'];
}
$startRow_Rs_HmEsportes2 = $pageNum_Rs_HmEsportes2 * $maxRows_Rs_HmEsportes2;

mysql_select_db($database_PN_BD, $PN_BD);
$query_Rs_HmEsportes2 = "SELECT * FROM pn_noticias WHERE pn_noticias.intNotID <> ".$row_Rs_Jslider['intNotID']." AND pn_noticias.intCatID = '2' ORDER BY pn_noticias.intNotID DESC";
$query_limit_Rs_HmEsportes2 = sprintf("%s LIMIT %d, %d", $query_Rs_HmEsportes2, $startRow_Rs_HmEsportes2, $maxRows_Rs_HmEsportes2);
$Rs_HmEsportes2 = mysql_query($query_limit_Rs_HmEsportes2, $PN_BD) or die(mysql_error());
$row_Rs_HmEsportes2 = mysql_fetch_assoc($Rs_HmEsportes2);

if (isset($_GET['totalRows_Rs_HmEsportes2'])) {
 $totalRows_Rs_HmEsportes2 = $_GET['totalRows_Rs_HmEsportes2'];
} else {
 $all_Rs_HmEsportes2 = mysql_query($query_Rs_HmEsportes2);
 $totalRows_Rs_HmEsportes2 = mysql_num_rows($all_Rs_HmEsportes2);
}
$totalPages_Rs_HmEsportes2 = ceil($totalRows_Rs_HmEsportes2/$maxRows_Rs_HmEsportes2)-1;

$maxRows_Rs_HmEnt2 = 3;
$pageNum_Rs_HmEnt2 = 0;
if (isset($_GET['pageNum_Rs_HmEnt2'])) {
 $pageNum_Rs_HmEnt2 = $_GET['pageNum_Rs_HmEnt2'];
}
$startRow_Rs_HmEnt2 = $pageNum_Rs_HmEnt2 * $maxRows_Rs_HmEnt2;

Porem o que acontece é que este script retorna sem apenas um resultado da consulta acima e eu já quebrei a cabeça mas não consegui fazer ele retornar sem todos os resultados da outra consulta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com NOT EXISTS

 

Não deu certo, veja tenho um consulta para um slider que retorna 8 noticias com id distintas pois não quero que retorne as noticias que não contenha imagens ex: id 30 31 41 42 48 50

 

$maxRows_Rs_Jslider = 8;
$pageNum_Rs_Jslider = 0;
if (isset($_GET['pageNum_Rs_Jslider'])) {
 $pageNum_Rs_Jslider = $_GET['pageNum_Rs_Jslider'];
}
$startRow_Rs_Jslider = $pageNum_Rs_Jslider * $maxRows_Rs_Jslider;

mysql_select_db($database_PN_BD, $PN_BD);
$query_Rs_Jslider = "SELECT * FROM pn_noticias, pn_categorias WHERE pn_noticias.intCatID = pn_categorias.intCatID AND pn_noticias.intImgNotID <> '0' ORDER BY pn_noticias.intNotID DESC";
$query_limit_Rs_Jslider = sprintf("%s LIMIT %d, %d", $query_Rs_Jslider, $startRow_Rs_Jslider, $maxRows_Rs_Jslider);
$Rs_Jslider = mysql_query($query_limit_Rs_Jslider, $PN_BD) or die(mysql_error());
$row_Rs_Jslider = mysql_fetch_assoc($Rs_Jslider);

if (isset($_GET['totalRows_Rs_Jslider'])) {
 $totalRows_Rs_Jslider = $_GET['totalRows_Rs_Jslider'];
} else {
 $all_Rs_Jslider = mysql_query($query_Rs_Jslider);
 $totalRows_Rs_Jslider = mysql_num_rows($all_Rs_Jslider);
}
$totalPages_Rs_Jslider = ceil($totalRows_Rs_Jslider/$maxRows_Rs_Jslider)-1; 

 

 

E outra consulta que deveria retornar 3 noticias com ou sem imagem menos as noticias que já estão no slider! Manualmente funcionaria assim pn_noticias.intNotID NOT IN ('50' , '30', '31') mas não consigo fazer dinamicamente que ficaria assim pn_noticias.intNotID NOT IN (".$row_Rs_Jslider['intNotID'].")

 

 $maxRows_Rs_HmNoticias2 = 3;
$pageNum_Rs_HmNoticias2 = 0;
if (isset($_GET['pageNum_Rs_HmNoticias2'])) {
 $pageNum_Rs_HmNoticias2 = $_GET['pageNum_Rs_HmNoticias2'];
}
$startRow_Rs_HmNoticias2 = $pageNum_Rs_HmNoticias2 * $maxRows_Rs_HmNoticias2;

mysql_select_db($database_PN_BD, $PN_BD);
 $query_Rs_HmNoticias2 = "SELECT * FROM pn_noticias WHERE pn_noticias.intNotID NOT IN ('38' , '30', '31') AND pn_noticias.intCatID = '1' ORDER BY pn_noticias.intNotID DESC";

$query_limit_Rs_HmNoticias2 = sprintf("%s LIMIT %d, %d", $query_Rs_HmNoticias2, $startRow_Rs_HmNoticias2, $maxRows_Rs_HmNoticias2);
$Rs_HmNoticias2 = mysql_query($query_limit_Rs_HmNoticias2, $PN_BD) or die(mysql_error());
$row_Rs_HmNoticias2 = mysql_fetch_assoc($Rs_HmNoticias2);

if (isset($_GET['totalRows_Rs_HmNoticias2'])) {
 $totalRows_Rs_HmNoticias2 = $_GET['totalRows_Rs_HmNoticias2'];
} else {
 $all_Rs_HmNoticias2 = mysql_query($query_Rs_HmNoticias2);
 $totalRows_Rs_HmNoticias2 = mysql_num_rows($all_Rs_HmNoticias2);
}
$totalPages_Rs_HmNoticias2 = ceil($totalRows_Rs_HmNoticias2/$maxRows_Rs_HmNoticias2)-1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Publica só o sql.

 

E outros 2 que deve retornar um consulta por categoria exceto os resultados da consulta acima:

 

seria algo como :

 

1º select

 

SELECT * FROM pn_noticias WHERE "condição1"

 

2º select

 

SELECT * FROM pn_noticias WHERE "condição2"
and id_noticia not in (SELECT id_noticia  
                      FROM pn_noticias 
                      WHERE "condição1")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Publica só o sql.

 

 

 

seria algo como :

 

1º select

 

SELECT * FROM pn_noticias WHERE "condição1"

 

2º select

 

SELECT * FROM pn_noticias WHERE "condição2"
and id_noticia not in (SELECT id_noticia  
                      FROM pn_noticias 
                      WHERE "condição1")

1º select

 

SELECT *
FROM pn_noticias, pn_categorias
WHERE pn_noticias.intCatID = pn_categorias.intCatID AND pn_noticias.intImgNotID <> '0'
ORDER BY pn_noticias.intNotID DESC

 

2º select

SELECT * FROM pn_noticias, pn_categorias WHERE pn_noticias.intCatID = pn_categorias.intCatID AND pn_noticias.intNotID not in (SELECT pn_noticias.intNotID FROM pn_noticias, pn_categorias WHERE pn_noticias.intCatID = pn_categorias.intCatID AND pn_noticias.intImgNotID <> '0' ORDER BY pn_noticias.intNotID DESC) AND pn_noticias.intCatID = '1' ORDER BY pn_noticias.intNotID DESC 

 

Não resolveu o segundo retorna apenas os registros que não têm imagens vinculadas!

Deveria não mostrar todos os registros menos os que estão no 1select independente de ter ou não imagens!

Deveria fazer no 2º select algo como 2select.intNotID NOT IN ('50' , '30', '31') onde ('50' , '30', '31') seria um resultado do 1º select=> 2select.intNotID NOT IN (".$row_1select. ['intNotID'].") mas o problema que neste caso retorna apenas 1 resultado ex. 2select.intNotID NOT IN ('50') ficando os outros de fora também não sei se teria como repetir o resultado com o SQL ou somente pelo PHP com um while ou algo do tipo o qual também tentei fazer sem resultado positivo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.