24. maj 2004 - 00:35Der er
6 kommentarer og 1 løsning
Link til dynamisk side
Hejsa,
Jeg har flg. script som viser indholdet ved et bestemt databasekald. I dette tilfælde er der tre resultater, ved den her query.
Som det er nu er resultatet tre linier med alm. tekst, men hvis jeg gerne ville have de enkelte resultater på siden til at henvise til de enkelte poster med respektive sider, hvordan gør jeg det nemmest? Og så lige en sidste ting: kaldet, og dermed den nye side, skal optræde i en template.
<?
$content = ""; $username = "***"; $password = "***"; $hostname = "***"; $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); $selected = mysql_select_db("missions",$dbh) or die("Could not select first_test"); $result = mysql_query("SELECT mission.missionID, country1.country AS host, country2.country AS guest,
mission.cityserved, missiontype.missiontype FROM mission LEFT JOIN country country1 ON country1.countryID = mission.host LEFT JOIN country country2 ON country2.countryID = mission.guest LEFT JOIN missiontype ON missiontype.missiontypeID = mission.missiontype WHERE country1.country = 'denmark' ORDER BY guest ASC"); while ($row = mysql_fetch_array($result)) { $content .= "- ".$row{'guest'}." - ".$row{'cityserved'}.", ".$row{'missiontype'}. "<br>"; } $ mysql_close($dbh);
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis vi f.eks. gik ud fra at du ville linke til sider med byer (og har sider med byerne liggende - navngivet det samme som i databasen, og med .html på navnet) ville du nok gøre det sådan hér: $content .= "- ".$row{'guest'}." - <a href='".$row{'cityserved'}.".html' title='Link til ".$row{'cityserved'}."'>".$row{'cityserved'}."</a>, ".$row{'missiontype'}. "<br>";
- hvilket 'bare' vil gøre cityserved til et link til en side af samme navn.
Jeg er ikke helt sikker på at det er hvad du mener..? Håber det var idéen. :)
Det kan godt være jeg ikke var helt så præcis i mit spørgsmål ;)
Selve siderne skal linke til undersider der ikke ligger statisk på serveren, men bliver genereret udfra brugerens input. Siderne eksisterer altså ikke før den enkelte bruger laver en query (som i det her tilfælde er at trykke på linket, der ligeledes er blevet genereret ved en query). De tre førnævnte resulateter består alle af 'guest','cityserved' og 'missiontype', således at et link kunne se sådan her ud "Cuba, Copenhagen, Embassy". Når man så trykker på "Cuba, Copenhagen, Embassy" kommer resulatet så frem, med info om adresse, telefonnummer mv. på ambassaden. Resulatet ligger så samtidigt i en template (f.eks. template.php) - Jeg har intet kunne finde om det på nettet, så jeg er ret lost :(
Jeg er ikke sikker på at jeg har forstået hvad du vil.. Men prøver: <? $content = ""; $username = "***"; $password = "***"; $hostname = "***"; $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); $selected = mysql_select_db("missions",$dbh) or die("Could not select first_test"); $result = mysql_query("SELECT mission.missionID, country1.country AS host, country2.country AS guest,
mission.cityserved, missiontype.missiontype FROM mission LEFT JOIN country country1 ON country1.countryID = mission.host LEFT JOIN country country2 ON country2.countryID = mission.guest LEFT JOIN missiontype ON missiontype.missiontypeID = mission.missiontype WHERE country1.country = 'denmark' ORDER BY guest ASC"); while ($row = mysql_fetch_array($result)) { $content .= '- <a href="details.php?id='.$row['missionID'] . '"> .$row{'guest'}." - ".$row{'cityserved'}.", ".$row{'missiontype'}. "</a><br>"; }
mysql_close($dbh);
include "template.php" ; ?>
nu linker denne fil til detail.php. Så lad os prøve at se hvordan den kan se ud: <?php $content = ""; $username = "***"; $password = "***"; $hostname = "***"; $id = intval($_GET['id']); $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); $selected = mysql_select_db("missions",$dbh) or die("Could not select first_test"); $result = mysql_query("SELECT ... WHERE id = '$id' ... "); while ($row = mysql_fetch_array($result)) { $content .= .... }
Tak for dit svar. Den første del virker upåklageligt. Jeg er dog stødt ind i lidt problemer med den anden. Jeg har erstattet ... efter SELECT med mit db kald, og .... efter $content .= , med de info den skal spytte ud. Men jeg er ikke sikker på hvad jeg skal skrive i ... efter '$id' - Hvis jeg fjerner dem og kører scriptet kommer flg. frem: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\web3\details.php on line 17
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.