Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho pouco conhecimento em php e estou com um erro em um sistema de album de fotos em php com MYSQL.
É o seguinte eu criei um CSS para esse album e a moldura dos albuns aparece na ultima fileira porém sem nenhum album dentro pq o mesmo não existe.
Por exemplo, se eu crio 3 albuns aparecem os 3 albuns certinho e em baixo mais uma moldura do que seria a posição do quarto album que não existe.
Estou colocando uma foto aqui pra fcar mais facil de intender:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.sitestwm.com.br/outros/erro.jpg&key=82df521204193d0367b798db30fe4932d97698899097888b21ed88c8e34791b2" alt="Imagem Postada" />
no código que cria essa lista de albuns utiliza um while que é o que gera os novos albuns, no código está assim:
Como eu posso corrigir meu problema? Des de já Grata
</head>
<body>
<a href="index.php" >Voltar</a><br>
<div id="coluna_direita">
<div id="head">
<?php echo $row_rsAlbum['Desc']; ?>
<div id="head-baixo">
<?php if ($totalRows_rsFotos > 0) { // Show if recordset not empty ?>
<?php
do { // horizontal looper version 3
?>
<a href="imagens/<?php echo $row_rsFotos['Foto']; ?>" rel="lightbox" title="<?php echo $row_rsFotos['Desc']; ?>" > <img src="imagens/minis/<?php echo $row_rsFotos['Foto']; ?>" alt="<?php echo $row_rsFotos['Desc']; ?>" border="0"
title="<?php echo $row_rsFotos['Desc']; ?>" /></a>
<?php
$row_rsFotos = mysql_fetch_assoc($rsFotos);
if (!isset($nested_rsFotos)) {
$nested_rsFotos= 1;
}
if (isset($row_rsFotos) && is_array($row_rsFotos) && $nested_rsFotos++ % 4==0) {
echo "";
}
} while ($row_rsFotos); //end horizontal looper version 3
?>
<?php } // Show if recordset not empty ?>
<?php if ($totalRows_rsFotos == 0) { // Show if recordset empty ?>
<div id="txt1">Este álbum ainda não tem fotos!</div>
<?php } // Show if recordset empty ?>
</div> </div> </div>
<div id="coluna_esquerda">
<div id="albuns">
<div id="albuns2">
<?php do { ?>
<a href="fotos.php?IDAlbum=<?php echo $row_rsAlbuns['IDAlbum']; ?>"><img src="imagens/capa/<?php echo $row_rsAlbuns['Capa']; ?>" border="0" class="highslide-image" /><br />
<?php echo $row_rsAlbuns['Desc']; ?></a><br /><br />
</div>
</div>
<div id="albuns">
<div id="albuns2">
<?php } while ($row_rsAlbuns = mysql_fetch_assoc($rsAlbuns)); ?> </div>
</div>
</body>
</html>
<?php
mysql_free_result($rsFotos);
mysql_free_result($rsAlbum);
mysql_free_result($rsAlbuns);
?>cadê a consulta, onde você gera a variavel:
$rsAlbuns ?
essa é a consulta:
<?php require_once('../Connections/conection.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_rsFotos = 16;
$pageNum_rsFotos = 0;
if (isset($_GET['pageNum_rsFotos'])) {
$pageNum_rsFotos = $_GET['pageNum_rsFotos'];
}
$startRow_rsFotos = $pageNum_rsFotos * $maxRows_rsFotos;
$colname_rsFotos = "-1";
if (isset($_GET['IDAlbum'])) {
$colname_rsFotos = $_GET['IDAlbum'];
}
mysql_select_db($database_conection, $conection);
$query_rsFotos = sprintf("SELECT * FROM Fotos WHERE IDAlbum = %s", GetSQLValueString($colname_rsFotos, "text"));
$query_limit_rsFotos = sprintf("%s LIMIT %d, %d", $query_rsFotos, $startRow_rsFotos, $maxRows_rsFotos);
$rsFotos = mysql_query($query_limit_rsFotos, $conection) or die(mysql_error());
$row_rsFotos = mysql_fetch_assoc($rsFotos);
if (isset($_GET['totalRows_rsFotos'])) {
$totalRows_rsFotos = $_GET['totalRows_rsFotos'];
} else {
$all_rsFotos = mysql_query($query_rsFotos);
$totalRows_rsFotos = mysql_num_rows($all_rsFotos);
}
$totalPages_rsFotos = ceil($totalRows_rsFotos/$maxRows_rsFotos)-1;
$colname_rsAlbum = "-1";
if (isset($_GET['IDAlbum'])) {
$colname_rsAlbum = $_GET['IDAlbum'];
}
mysql_select_db($database_conection, $conection);
$query_rsAlbum = sprintf("SELECT * FROM Albuns WHERE IDAlbum = %s", GetSQLValueString($colname_rsAlbum, "int"));
$rsAlbum = mysql_query($query_rsAlbum, $conection) or die(mysql_error());
$row_rsAlbum = mysql_fetch_assoc($rsAlbum);
$totalRows_rsAlbum = mysql_num_rows($rsAlbum);
$maxRows_rsAlbuns = 10;
$pageNum_rsAlbuns = 0;
if (isset($_GET['pageNum_rsAlbuns'])) {
$pageNum_rsAlbuns = $_GET['pageNum_rsAlbuns'];
}
$startRow_rsAlbuns = $pageNum_rsAlbuns * $maxRows_rsAlbuns;
mysql_select_db($database_conection, $conection);
$query_rsAlbuns = "SELECT * FROM Albuns ORDER BY IDAlbum ASC";
$query_limit_rsAlbuns = sprintf("%s LIMIT %d, %d", $query_rsAlbuns, $startRow_rsAlbuns, $maxRows_rsAlbuns);
$rsAlbuns = mysql_query($query_limit_rsAlbuns, $conection) or die(mysql_error());
$row_rsAlbuns = mysql_fetch_assoc($rsAlbuns);
if (isset($_GET['totalRows_rsAlbuns'])) {
$totalRows_rsAlbuns = $_GET['totalRows_rsAlbuns'];
} else {
$all_rsAlbuns = mysql_query($query_rsAlbuns);
$totalRows_rsAlbuns = mysql_num_rows($all_rsAlbuns);
}
$totalPages_rsAlbuns = ceil($totalRows_rsAlbuns/$maxRows_rsAlbuns)-1;
$queryString_rsAlbuns = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_rsAlbuns") == false &&
stristr($param, "totalRows_rsAlbuns") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_rsAlbuns = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_rsAlbuns = sprintf("&totalRows_rsAlbuns=%d%s", $totalRows_rsAlbuns, $queryString_rsAlbuns);
$queryString_rsFotos = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_rsFotos") == false &&
stristr($param, "totalRows_rsFotos") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_rsFotos = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_rsFotos = sprintf("&totalRows_rsFotos=%d%s", $totalRows_rsFotos, $queryString_rsFotos);
?>Quer que eu mova o tópico pro fórum de Dreamweaver ?
veja:
$query_rsAlbuns = "SELECT * FROM Albuns ORDER BY IDAlbum ASC";
$query_limit_rsAlbuns = sprintf("%s LIMIT %d, %d", $query_rsAlbuns, $startRow_rsAlbuns, $maxRows_rsAlbuns);
$rsAlbuns = mysql_query($query_limit_rsAlbuns, $conection) or die(mysql_error());
//$row_rsAlbuns = mysql_fetch_assoc($rsAlbuns); você está 'gastando', um fetch_assoc().
remova ele dai.
estude php puro.
Esse pseudo código php gerado pelo DW é horrível.
>
Quer que eu mova o tópico pro fórum de Dreamweaver ?
veja:
$query_rsAlbuns = "SELECT * FROM Albuns ORDER BY IDAlbum ASC";
$query_limit_rsAlbuns = sprintf("%s LIMIT %d, %d", $query_rsAlbuns, $startRow_rsAlbuns, $maxRows_rsAlbuns);
$rsAlbuns = mysql_query($query_limit_rsAlbuns, $conection) or die(mysql_error());
//$row_rsAlbuns = mysql_fetch_assoc($rsAlbuns); você está 'gastando', um fetch_assoc().
remova ele dai.
estude php puro.
Esse pseudo código php gerado pelo DW é horrível.
Valeu William Bruno, mais não funcionou porém eu fiz uma gambiarra aqui e ficou certinho rsrsrsrs, de qualquer forma vlw mesmo resolvido meu problema.
Olá Gretel, tudo bem.
Provavelmente o problema é que a consulta ao banco de dados está retornando um resultado vazio a mais. Não é problema na consulta em si, mas na hora de pegar o resultado dela.
Poste aí, se for possível, o código todo ou a parte onde é feita a consulta e a obtenção dos resultados, para que possamos ajudá-la melhor.
Até mais.