You are here: Re: PHP Mysql Query Looping - Help « All PHP « IT news, forums, messages
Re: PHP Mysql Query Looping - Help

Posted by J.O. Aho on 12/11/06 19:26

solpraiaferias@gmail.com wrote:
> Sorry to bother folks but have been going mad the past 48 hours.
>
> Have done something wrong but cannot see it!
>
> I have php code retrieving results from mysql database and displaying
> to web page on my site:
>
> see development page at:
>
> http://www.solpraiaferias.com/surfalgarve/test_surf.php
>
> You will see that it is looping and displaying the results several
> times.

> $sql_surf = "SELECT
> CASAS.area_id,CASAS.casa_id,CASAS.casa_nom,CASAS.quartos,CASAS.pessoas,CASAS.preco_natal,CASAS.
> preco_jan,CASAS. preco_fev,CASAS. preco_mar,CASAS. preco_abr,CASAS.
> preco_mai,CASAS. preco_jun,CASAS. preco_jul,CASAS. preco_ago,CASAS.
> preco_set,CASAS. preco_out,CASAS. preco_nov,CASAS. preco_dez,CASAS.
> preco_pascoa,CASAS.casa_text_en,CASAS.form_url_en,CASAS.cas_img_ref_1,CASAS.surf,CASAS.active,TOWNS.area_id,TOWNS.name,TOWNS.text_en,TOWNS.text_2_en,TOWNS.img_ref_2
> FROM CASAS,TOWNS WHERE CASAS.surf='Yes' AND CASAS.active='Yes' LIMIT 0,
> 30 ";
>
> $surf_result = mysql_query($sql_surf) or die(mysql_error());
>
> Print "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"
> width=\"95%\" align=\"center\">";
>
> while($surf_row_1 = mysql_fetch_array( $surf_result,MYSQL_ASSOC ))
> {
> Print "<tr>";
<cut ... cut>
> Print "</tr>";
> mysql_close($dbh);
> }
> Print "</table>";

move the mysql_close() to outside the while loop

Have you looked how your table looks like? I mean use another method to access
the data, for it seems like you have more than one entry of your data, that
you have entered everything 4 times, I would suggest you have a better way to
determine dubblicates when you insert data.

I think your outputting is a bit difficult to see, you could use


echo <<<EOF
<tr>
<td colspan="8">
<img alt=" " src="images/prop_baa.jpg" vspace="5">
</td>
</tr>
<tr>
<td>
</td>
<td colspan="6">
<table border="0" cellpadding="0" cellspacing="0" width="95%" align="center">
<tr>
<td>
<div align="left" class="textgreen2menu">
{$surf_row_1['casa_nom']}
</div>
</td>
(and so on ... )
EOF;

This makes it a lot easier to see where everything belongs, and when you
inject a variable into it, just use {} around it, then you don't have to break
the output. As you see you don't need to escape double/single quotes, whih
makes it even easier to follow and less risk that there comes an error for you
missed to escape one.


//Aho

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация