webForumDet fria alternativet

While till foreach

3 svar · 434 visningar · startad av Dykarn

DykarnMedlem sedan mars 2005149 inlägg
#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)

MatteMedlem 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>";
DykarnMedlem 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 :)

aasahMedlem 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?)

129 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)