01. juli 2004 - 01:17Der er
13 kommentarer og 1 løsning
resultat baseret på tidligere mysql query
Jeg har et db-kald der ser således ud:
$result = mysql_query("SELECT DISTINCT country1.country AS host, mission.cityserved FROM mission LEFT JOIN country country1 ON country1.countryID = mission.host WHERE country1.country = '$_GET[id]' ORDER BY cityserved ASC"); while ($row = mysql_fetch_array($result)) { $content .= '- <a href="list2.php?id='.$row['host'] . '#'.$row['cityserved'] .'">'
.$row{'cityserved'}. "</a><br>";
Herefter, på samme side, vil jeg gerne lave et db-kald der er baseret på resultatet af denne query, dvs. " .$row['cityserved'] "
Hvordan får jeg "ført resultatet fra den første query ned WHERE-clausen i den anden query?
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.
Selve WHERE-clausen i query nr. 2 skal simpelthen hives ud af resultatet fra den første query - Resultatet kan f.eks. være "odense" og dette resultat skal derefter sættes ind i "WHERE mission.cityserved = et-eller-andet fra den tidligere query der i dette eksempel skal være odense".
query nr 2:
$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 mission.cityserved = ///hvad skal jeg skrive her?/// ORDER BY guest ASC"); while ($row = mysql_fetch_array($result)) { $cities .= ' <a href="mission.php?id='.$row['missionID'] . '">' .$row{'guest'}." - ".$row{'cityserved'}.", ".$row{'missiontype'}. "</a><br>"; }
den havde jeg også prøvet, men den returnerer ikke noget - det ville nemt kunne lade sig gøre, hvis resulatatet af query nr. 2 kom frem på en ny side og var baseret på et id ( $_GET[id] ), som i eksemplet således kunne hedde "odense" - men jeg lurede på om der fandtes en kommando hvor det kunne gøres på samme side, dvs. hvor query nr. 2 er baseret på query nr. 1.
Hmmm, jeg forstår ikke helt. For i din 1.query, vil du da få en liste ud med byer: Århus, København, Odense etc. ikke? Hvordan skal den så vide, at det er lige præcis Odense du vil bruge i din 2. query?
Disse 3 byer henviser alle til punkter længere nede på siden som allerede er blevet genereret med nr 2 query. Man vælger så punkt Odense og bliver herefter, på samme side (#odense), ført ned til dette punkt, hvor der så er en liste over kontorer i byen. - Selve referenten der definerer, at det netop er oversigten over odense der ønskes vist, ligger i selve den url (som beskrevet ovenfor) der trykkes på.
WHERE mission.cityserved = ***, hvor *** er resultatet af de i query 1 genererede valgmuligheder.
Query 2 er simpelthen en query der er baseret på resultatet af Query 1.
Jeg forstår den stadig ikke, sry :( Må være for træt, eller for dum... Det jeg ikke forstår er, at du siger at det ER blevet genereret af query 2, men at du stadig vil lave en query 2? Det er jo samme query 2 gange???
Men, hvis jeg forstår dig, kunne du så ikke i den $content tilføje &by=$row['cityserved'] ? Når du så kommer ned på siden under f.eks. #odense så vil du kunne bruge $_GET['by'] i en query...
Hvis det er helt misforstået så gir' jeg fortabt og må lade håndklædet gå videre...
det er nok mig der ikke er helt skarp til at formulere mig ;) - anyways, det lyder fornuftigt dit forslag, men hvor ville &by=$row['cityserved'] skulle sættes ind henne?
Det ville jeg nok gøre her: $content .= '- <a href="list2.php?id='.$row['host'] . '&by='.$row['cityserved']. '#'.$row['cityserved'] .'">' .$row{'cityserved'}. "</a><br>";
så vil du jo have både $_GET['id'] og $_GET['by'] :)
Tusinde tak - jeg vil lige sidde og lege lidt med det, men så vender jeg tilbage med om jeg har kunnet finde ud af det eller ej :) - jeg skal ikke bruge mere af din tid i nat - igen, tusinde tak for hjælpen - jeg kommer lige tilbage med opfølgning på det...
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.