Ir para conteúdo

Arquivado

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

Chüud

Loop while certo, mas não vai de jeito nenhum

Recommended Posts

Bom, já mexo com PHP por 3 meses, 7 horas por dia, e estou tendo um problema que não deveria ocorrer, vou postar o código:

<?php require_once('Connections/conndb_Shibuya.php'); ?><?php$maxRows_rsProdutos = 10;$pageNum_rsProdutos = 0;if (isset($_GET['pageNum_rsProdutos'])) {  $pageNum_rsProdutos = $_GET['pageNum_rsProdutos'];}$startRow_rsProdutos = $pageNum_rsProdutos * $maxRows_rsProdutos;$searchP_rsProdutos = "-1";if (isset($_POST['searchField'])) {  $searchP_rsProdutos = (get_magic_quotes_gpc()) ? $_POST['searchField'] : addslashes($_POST['searchField']);}mysql_select_db($database_conndb_Shibuya, $conndb_Shibuya);$query_rsProdutos = sprintf("SELECT tb_produtos.Nome, tb_produtos.Descriçao, tb_produtos.Preço FROM tb_produtos WHERE tb_produtos.Nome LIKE ('%%%%%s%%%%')", $searchP_rsProdutos);$query_limit_rsProdutos = sprintf("%s LIMIT %d, %d", $query_rsProdutos, $startRow_rsProdutos, $maxRows_rsProdutos);$rsProdutos = mysql_query($query_limit_rsProdutos, $conndb_Shibuya) or die(mysql_error());$row_rsProdutos = mysql_fetch_assoc($rsProdutos);if (isset($_GET['totalRows_rsProdutos'])) {  $totalRows_rsProdutos = $_GET['totalRows_rsProdutos'];} else {  $all_rsProdutos = mysql_query($query_rsProdutos);  $totalRows_rsProdutos = mysql_num_rows($all_rsProdutos);}$totalPages_rsProdutos = ceil($totalRows_rsProdutos/$maxRows_rsProdutos)-1;mysql_free_result($rsProdutos);?><?php do { ?>  <table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">	<tr>	  <td colspan="2"><?php echo $row_rsProdutos['Nome']; ?></td>	</tr>	<tr>	  <td colspan="2"><?php echo $row_rsProdutos['Descriçao']; ?></td>	</tr>	<tr>	  <td><?php echo $row_rsProdutos['Preço']; ?></td>	  <td>Comprar</td>	</tr>	  </table>  <?php } while ($row_rsProdutos = mysql_fetch_assoc($rsProdutos)); ?>  <?php echo $totalRows_rsProdutos; ?>
Quase todo o código foi gerado automaticamente pelo Dreamweaver 8, o pior é que qualquer tentativa de usar a função while resulta no mesmo erro:

Warning: mysql_fetch_assoc(): 4 is not a valid MySQL result resource in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\busca.php on line 43
A unica diferença e aquele número '4' que muda de acordo com a quantidade de registros que serão exibidos.

 

Não sei mais o que fazer.

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, tenta fazer o seguinte, ao invés de

 

<?php do { ?>  <table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">	<tr>	  <td colspan="2"><?php echo $row_rsProdutos['Nome']; ?></td>	</tr>	<tr>	  <td colspan="2"><?php echo $row_rsProdutos['Descriçao']; ?></td>	</tr>	<tr>	  <td><?php echo $row_rsProdutos['Preço']; ?></td>	  <td>Comprar</td>	</tr>	  </table>  <?php } while ($row_rsProdutos = mysql_fetch_assoc($rsProdutos)); ?>

Muda para

 

<?php for(;$row_rsProdutos = mysql_fetch_assoc($rsProdutos);) { ?>  <table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">	<tr>	  <td colspan="2"><?php echo $row_rsProdutos['Nome']; ?></td>	</tr>	<tr>	  <td colspan="2"><?php echo $row_rsProdutos['Descriçao']; ?></td>	</tr>	<tr>	  <td><?php echo $row_rsProdutos['Preço']; ?></td>	  <td>Comprar</td>	</tr>	  </table>  <?php } ?>

 

O que eu fiz foi trocar de do.. while para for

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque esta linha após você chamar a função "mysql_fetch_assoc". Ou seja, após o "while".

 

mysql_free_result($rsProdutos);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: mysql_fetch_assoc(): 6 is not a valid MySQL result resource in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\busca.php on line 35Warning: mysql_free_result(): 6 is not a valid MySQL result resource in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\busca.php on line 496

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.