Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Estou precisando de uma ajuda para adaptar o código abaixo em ASP para PHP:
If Not rs.EOF Then alguma coisa...End Ifrs.MoveNext - qual o equivalente?If LRS_SQL.EOF Then Exit Do sai do loop feito pelo Do While Not rs.EOFEnd If
Bom dia!
Alguém já teve este caso, que possa me ajudar?
Fernando,
Obrigado pela ajuda. Já venho trabalhando com o PDO, pois minha versão do PHP é a 5.5.
O que eu preciso é substituir os blocos do código acima aos equivalentes em PHP. No caso do loop, venho utilizando o FOREACH, mas os abaixo:
rs.MoveNext - qual o equivalente?
e este
If rs.EOF Then Exit Do
sai do loop feito pelo Do While Not rs.EOF
End If
Como devo utilizar, pois eu já tentei de várias vezes e não consigo chegar a algo aproximado.
Galera,
No PHP, consegui chegar ao seguinte código:
<?php$totalf = $pdo->prepare($sql);
$totalf->bindParam(':FATURA', $FATURA, PDO::PARAM_STR, 10);
$totalf->execute();
$totf = $totalf->fetchAll(PDO::FETCH_ASSOC);
?>
<table width="100%">
<tr>
<td>Reserva</td>
<td>Passageiro</td>
<td>Rota</td>
<td>Valor</td>
</tr>
<?php
$prev = '';
$Total_Valor_For = 0;
foreach($totf as $dados):
//QUEBRAR POR FORNECEDOR
if( $prev!==trim($dados['Fornecedor']) ) {
$prev = trim($dados['Fornecedor']);
?>
<tr>
<td colspan="4">Fornecedor: <?php echo trim($dados['Fornecedor']); ?></td>
</tr>
<?php }?>
<tr>
<td><?php echo trim($dados['Reserva']); ?></td>
<td><?php echo trim($dados['Passageiro']); ?></td>
<td><?php echo trim($dados['Rota']); ?></td>
<td><?php echo trim($dados['Valor']); ?></td>
</tr>
<?php
if( $prev!==trim($dados['Fornecedor']) ) {//QUEBRAR O VALOR TOTAL POR FORNECEDOR
$prev = trim($dados['Fornecedor']);
$Total_Valor_For = $Total_Valor_For + CDbl($dados['Total']);
?>
<tr>
<td>Total do Fornecedor</td>
<td> </td>
<td> </td>
<td>R$ <?php echo toReal($Total_Valor_For);?></td>
</tr>
<?php }?>
<?php
endforeach;
?>
</table>
Em comparação ao código do ASP, preciso colocar um o trecho abaixo, ainda no Do While Not:
rs.MoveNext
If rs.EOF Then Exit Do
Mas eu não encontro o equivalente ao If rs.EOF Then Exit Do.
Bem,
Consegui chegar no que eu realmente estava tentando resolver. Segue um comparativo para quem precisar:
Aqui vai uma grande ajuda que encontrei: http://design215.com/toolbox/asp.php
$fatura = $pdo->prepare($sql);
$fatura->bindParam(':FATURA', $FATURA, PDO::PARAM_STR, 10);
$fatura->execute();
$fat = $fatura->fetchAll(PDO::FETCH_OBJ);
ASP
If Not rs.EOF Then
alguma coisa...
End If
PHP
if(count($fat) < 0):
alguma coisa..
endif;
ASP
If rs.EOF Then Exit Do
sai do loop feito pelo Do While Not rs.EOF
End If
PHP
if(count($fat) < 0): break;
endif;
se entendi bem, vc esta´querendo recuperar os dados
d 1 consulta a 1 banco de dados.
sinteticamente:
em PHP "antigo" vc declarava a consulta numa função mysql_query
instanciada numa variável:
ex:
$teste=mysql_query("select dados from tabela");
ai cria 1 loop p/ recuperar os dados c/ a função mysql_fetch_array() e exibe os dados assim :
while($recupera=mysql_fetch_array($teste))
{
} // e aqui fecha o loop
obs: esse codigo vale até a versão 5.4 do PHP;
a partir da versão atual (5.5) as funções mysql_* estão obsoletas.
pesquise por PDO, ok?
é bem parecido, não se preocupe.