While till foreach

PHP

3 svar · 442 visningar · startad av Dykarn

Medlem sedan mars 2005149 inlägg
Trådstart#1

Hjälp jag har en while loop som jag vill gör om till en foreach...
här nedan är koden
har försökt lite olika lösningar men ä'r fortfarande för ny...

while ($myrow = $result->fetch_array(MYSQLI_ASSOC))
				{
				$master_product_id=$myrow["master_product_id"];
  				$source=$myrow["source"];
				$advertiser=$myrow["advertiser"];
				$mastercategory_id=$myrow["mastercategory_id"];
				$product_id=$myrow["product_id"];
				$category_id=$myrow["category_id"];
				$name=$myrow["name"];
				$brand=$myrow["brand"];
				$promotional_text=$myrow["promotional_text"];
				$description=$myrow["description"];
				$deep_link=$myrow["deep_link"];
				$image_url=$myrow["image_url"];
				$display_price=$myrow["display_price"];
				$link_out=$myrow["link_out"];
				$timestamp=$myrow["timestamp"];
				
  				
				printf("<div class=\"results_box\">
						<div class=\"results_source\">$source</div>
						<div class=\"results_advertiser\">$advertiser</div>
						<div class=\"results_mastercategory_id\">$mastercategory_id</div>
						<div class=\"results_product_id\">$product_id</div>
						<div class=\"results_category_id\">$category_id</div>
						<div class=\"results_name\"><a href=\"out.php?id=$master_product_id\" title=\"$description\">$name</a></div>
						<div class=\"results_brand\">$brand</div>
						<div class=\"results_promotional_text\">$promotional_text</div>
						<div class=\"results_description\">$description</div>
						<div class=\"results_image_url\"><img src=\"$image_url\" alt=\"$name\"/></div>
						<div class=\"results_display_price\">$display_price</div>
						<div class=\"results_link_out\">$link_out</div>
						<div class=\"results_timestamp\">$timestamp</div>
																		\n\n</div>");
				}

Alla förslag är välkommna

(win , apache, mysql5.1, php5)

Medlem sedan aug. 20002 975 inlägg
#2

Får jag fråga varför du ska använda en foreach istället?
Foreach arbetar mot en array, medan du hämtar från ett MySQL resultatset.

Däremot skulle du kunna byta ut din kod mot:

while ($myrow = $result->fetch_array(MYSQLI_ASSOC))
				{
				echo "<div class=\"results_box\">\n";
				foreach ($myrow as $key => $val) {
				   echo "<div class=\"results_$key\">$val</div>\n";
				}
				echo "\n\n</div>";
Medlem sedan mars 2005149 inlägg
#3

Tack för hjälpen anledningen är att jag försöker göra pagniation
(tror att det stavas så)
men om du vet ett bättre sätt så får du gärna dela med dig :)

Medlem sedan mars 20034 471 inlägg
#4

Jag rekommenderar följande paging skript av kjell, vilket återfinns här på wF under:
webForum > Webbrelaterade forum > Script från wFs medlemmar > Script - PHP

Jag använder det själv och tyckte det var hyfsat enkelt att sätta mig in i.

(Däremot förstår jag inte vad while/foreach skulle ha med saken att göra?)

259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)