webForumDet fria alternativet
Logga in / Bli medlem

While till foreach

PHP

3 svar · 436 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?)

252 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)