21. oktober 2001 - 16:58
Der er
17 kommentarer og 1 løsning
php/mySQL - While??
Hi I \"row2\" bliver den samme post vis lige så mange gange som der er \"product_overskrift\" Er der en anden en while jeg kan bruge til at samle en select? (håber i forstår hvad jeg mener lidt svært at forklare) $res = mysql_query(\"SELECT * FROM product_overskrift where hoved_id = $hovedemne \", $linkup); $res1 = mysql_query(\"SELECT * FROM products_hovedemne where id = $hovedemne \", $linkup); while($row1 = mysql_fetch_array($res1)) { $content = $content . \"<p><b><font size=3>{$row1[\"hovedemne\"]}</a></b><br>\"; } while($row = mysql_fetch_array($res)) { $product_id = \"\". $row[\"product_id\"] .\"\"; $content = $content . \"<p><b>{$row[\"overskrift\"]}</b><br>\"; $res2 = mysql_query(\"SELECT * FROM products, product_overskrift where product_overskrift_id = $product_id \", $linkup); while($row2 = mysql_fetch_array($res2)) { $content = $content . \"{$row2[\"indhold\"]} {$row2[\"beskrivelse\"]}<br>\"; } }
Annonceindlæg fra Barco
21. oktober 2001 - 17:14
#1
jeg kan ikke lige overskue dette! du har 3 tabeller. du skal bruge noget JOIN og det du vil have ud er hovedemne, indhold og beskrivelse og det du søger på er hovedemne IKK ??
21. oktober 2001 - 17:29
#2
tabeller: product_overskrift products_hovedemne products side 1: hovedemne links side 2: Produkt overskrifter (while???) - product_overskrift (while) - indhold - beskrivelse problemet er at den viser indhold - beskrivelse lige så mange gange der er product overskrifer..
21. oktober 2001 - 17:30
#3
slet while så tager den kun den første
21. oktober 2001 - 17:32
#4
$res2 = mysql_query(\"SELECT * FROM products, product_overskrift where product_overskrift_id = $product_id \", $linkup); $row2 = mysql_fetch_array($res2); $content.=\"$row2[indhold]$row2[beskrivelse]}<br>\"; }
21. oktober 2001 - 17:38
#5
når jeg laver det du viser mig kommer den kun med 1 post under hver product_overskrift der er flere på nogen af dem. så der skal bruges en while der. det er mere den while som ligger oven over der skal laves om.
21. oktober 2001 - 17:45
#6
ja du det er regtigt men du har rodet noget rundt idet- ikke fordi det er forkert men en del tags er overflødige
21. oktober 2001 - 17:49
#7
Sådan er det jo nogen gange når kommer mere og mere på.. jeg tror sq at jeg bruger en include..
21. oktober 2001 - 17:51
#8
<?php $res1 = mysql_query(\"SELECT * FROM products_hovedemne where id = $hovedemne \"); while($row1 = mysql_fetch_array($res1)) { $content.=\"<p><b><font size=3>$row1[hovedemne]</a></b><br>\"; } $res = mysql_query(\"SELECT * FROM product_overskrift where hoved_id = \'$hovedemne\'\"); $row = mysql_fetch_array($res); $content.=\"<p><b>$row[overskrift]</b><br>\"; $res2 = mysql_query(\"SELECT * FROM products, product_overskrift where product_overskrift_id = \'$row[product_id]\'\"); while($row2 = mysql_fetch_array($res2)) { $content.=\"$row2[indhold] $row2[beskrivelse]<br>\"; } ?> reelt kan de to sidste søgninger lægges sammen i en
21. oktober 2001 - 17:59
#9
nu kender jeg jo ikke indholdet i dine tabeller, mon ikke noget i denne retning skulle kunne gøre det: <?php mysql_connect($sql_host,$sql_user,$sql_passwd); mysql_select_db($db); $res1 = mysql_query(\"SELECT * FROM products_hovedemne where id = $hovedemne\"); while($row1 = mysql_fetch_array($res1)) { $content.=\"<p><b><font size=3>$row1[hovedemne]</a></b><br>\"; } $res = mysql_query(\"SELECT product_overskrift.overskrift,products.indhold ,products.beskrivelse FROM products, product_overskrift where hoved_id = \'$hovedemne\' and products.product_overskrift_id = product_overskrift.product_id\'\"); while($row = mysql_fetch_array($res)) { $content.=\"<p><b>$row[0]</b><br>$row[1] $row[2]<br>\"; } ?>
21. oktober 2001 - 18:00
#10
nu viser den: crys-rør Endotoxin og Rnase/Dnase fri. (fra + 120 grader til - 196). ......... greger redgergtergterg greger redgergtergterg greger redgergtergterg greger redgergtergterg
21. oktober 2001 - 18:10
#11
crys-rør <- hovedemne ikk? Endotoxin og Rnase/Dnase fri. (fra + 120 grader til - 196). ......... <- overskrift ikk? greger redgergtergterg <- indhold og beskrivelse ikk? greger redgergtergterg greger redgergtergterg greger redgergtergterg
21. oktober 2001 - 18:16
#12
jep det passer
21. oktober 2001 - 18:17
#13
$res = mysql_query(\"SELECT * FROM product_overskrift where hoved_id = $hovedemne \", $linkup); $res1 = mysql_query(\"SELECT * FROM products_hovedemne where id = $hovedemne \", $linkup); while($row1 = mysql_fetch_array($res1)) { $content = $content . \"<p><b><font size=3>{$row1[\"hovedemne\"]}</a></b><br>\"; } $row = mysql_fetch_array($res); $product_id = \"\". $row[\"product_id\"] .\"\"; $content = $content . \"<p><b>{$row[\"overskrift\"]}</b><br>\"; $res2 = mysql_query(\"SELECT * FROM products, product_overskrift where product_overskrift_id = $product_id \", $linkup); while($row2 = mysql_fetch_array($res2)) { $content = $content . \"{$row2[\"indhold\"]} {$row2[\"beskrivelse\"]}<br>\"; } din ejen uden den mitterste while
21. oktober 2001 - 18:18
#14
hvis jeg skal komme det nærmere må du sende mig dine mysql data morten@thorsnet.dk
21. oktober 2001 - 18:20
#15
du kan indsætte en limit 1 sidst i select så vises kun en row
21. oktober 2001 - 18:20
#16
stadig: Cryo-rør Endotoxin og Rnase/Dnase fri. (fra + 120 grader til - 196). ......... greger redgergtergterg greger redgergtergterg greger redgergtergterg greger redgergtergterg hvis jeg sætter den miderste while ind så viser den 4 overskrifter som er rigtig nok, fejlen ligger i indhold og beckrivelse som bliver vist 4 gange (der ligger 4 overskrifter i overskrift tabellen)
22. oktober 2001 - 09:36
#17
Jeg er villig til at give flere points...
22. oktober 2001 - 13:13
#18
fandt selv løsningen: $res = mysql_query(\"SELECT * FROM product_overskrift where hoved_id = $hovedemne \", $linkup); $res1 = mysql_query(\"SELECT * FROM products_hovedemne where id = $hovedemne \", $linkup); while($row1 = mysql_fetch_array($res1)) { $content = $content . \"<p><b><font size=3>{$row1[\"hovedemne\"]}</a></b><br>\"; while($row = mysql_fetch_array($res)) { $product_id = $row[\"product_id\"]; $content = $content . \"<p><b>{$row[\"overskrift\"]}</b><br>\"; $res2 = mysql_query(\"SELECT * FROM products where product_overskrift_id = $product_id \", $linkup); while($row2 = mysql_fetch_array($res2)) { $content = $content . \"{$row2[\"indhold\"]} {$row2[\"beskrivelse\"]}<br>\"; } } }
Computerworld tilbyder specialiserede kurser i database-management