02. august 2006 - 18:02
Der er
13 kommentarer og 1 løsning
PHP - Mysql problem
Hejsa. Ved ikke helt om det er et PHP eller Mysql problem, men jeg prøver. Jeg sidder og roder med noget kode som jeg har fundt på nettet, men der er en fejl i koden, håber at der er en der kan hjælpe! Problemet ligger i "$country" den får den samme værdi heletiden, selv om den skulle få forskellige værdier. Håber der en der kan hjælpe mig på vej.... // Get the details of the locations to be listed $locationlist = parse_mysql_query('locationlist.sql'); // Get the details of the countries $countrylist = parse_mysql_query('countrylist.sql'); for ($i=0; $i<count($locationlist); $i++) { // Get this country $country = ""; for($j=0; $j<count($countrylist); $j++) { if ($countrylist[$j]['ID'] = $locationlist[$i]['CountryID']) { $country = $countrylist[$j]['Country']; } } // Get this city $globals['locid'] = $locationlist[$i]['ID']; $citydetails = parse_mysql_query('onecity.sql'); $city = $citydetails[0]['City']; echo " <tr class=\"divecontent\">\n"; echo " <td><a href=\"divesite.php?loc=". $locationlist[$i]['ID']; echo "\" title=\"". $locationlist[$i]['Place']; echo " ". $_lang['logbook_place_linktitle'] ."\">"; echo $locationlist[$i]['Place'] ."</a></td>\n"; echo " <td>". $city ."</td>\n"; echo " <td>". $country."</td>\n"; echo " <td>". $locationlist[$i]['MaxDepth'] ." ". $_lang['unit_length_short'] ."</td>\n"; echo " </tr>\n"; }
Annonceindlæg fra Infor
Slettet bruger
02. august 2006 - 18:05
#1
Hvad gør funktionen parse_mysql_query? Kan ikke finde den på php.net nemlig.
02. august 2006 - 18:20
#2
Ved det ikke helt :-( Men som jeg forstår det, så gør "$locationlist = parse_mysql_query('locationlist.sql');" det at den går ud i 'locationlist.sql' læser den sql søgesætning der ligger der, går ud i databasen læser værdierne, og smider dem over i "$locationlist".
02. august 2006 - 19:28
#3
Prøv at smide et par print_r()-kald ind sådan at vi kan se indholdet af $locationlist og $countrylist: // Get the details of the locations to be listed $locationlist = parse_mysql_query('locationlist.sql'); print_r($locationlist); // Get the details of the countries $countrylist = parse_mysql_query('countrylist.sql'); print_r($countrylist);
02. august 2006 - 21:36
#4
Det kommer her: Array ( [0] => Array ( [ID] => 10 [CountryID] => 1 [Place] => Anemone Reef [MaxDepth] => ) [1] => Array ( [ID] => 17 [CountryID] => 2 [Place] => Helnæs Bogaard [MaxDepth] => 6 ) [2] => Array ( [ID] => 14 [CountryID] => 2 [Place] => Kattegat Centeret [MaxDepth] => ) [3] => Array ( [ID] => 12 [CountryID] => 1 [Place] => Koh Doc Mai [MaxDepth] => ) [4] => Array ( [ID] => 16 [CountryID] => 3 [Place] => Lighthouse Point [MaxDepth] => 21 ) [5] => Array ( [ID] => 3 [CountryID] => 2 [Place] => Lyngsbo / Ammoniak Havnen / Hullerne [MaxDepth] => ) [6] => Array ( [ID] => 8 [CountryID] => 2 [Place] => Motortorpedobåd nr. 4 [MaxDepth] => 10 ) [7] => Array ( [ID] => 13 [CountryID] => 1 [Place] => Racha Yai [MaxDepth] => ) [8] => Array ( [ID] => 11 [CountryID] => 1 [Place] => Shark Point [MaxDepth] => ) [9] => Array ( [ID] => 7 [CountryID] => 2 [Place] => Storbælt's Broen [MaxDepth] => ) [10] => Array ( [ID] => 5 [CountryID] => 2 [Place] => Søbadet [MaxDepth] => 27 ) [11] => Array ( [ID] => 9 [CountryID] => 2 [Place] => Sønderballe Strand [MaxDepth] => ) [12] => Array ( [ID] => 15 [CountryID] => 3 [Place] => Wreck Rock [MaxDepth] => 25 ) ) Array ( [0] => Array ( [LogID] => 0 [ID] => 1 [Country] => Thailand ) [1] => Array ( [LogID] => 0 [ID] => 2 [Country] => Danmark ) [2] => Array ( [LogID] => 0 [ID] => 3 [Country] => Tyrkiet ) )
02. august 2006 - 21:51
#5
Jeg tror vist at det er så simpelt som at: if ($countrylist[$j]['ID'] = $locationlist[$i]['CountryID']) { - skal rettes til: if ($countrylist[$j]['ID'] == $locationlist[$i]['CountryID']) {
02. august 2006 - 21:56
#6
det ser ud til at det virker nu, tak for hjælpen Sender du lige et svar
02. august 2006 - 21:57
#7
Svar :^)
Slettet bruger
02. august 2006 - 21:58
#8
Men frem over når du laver en print_r() så smid et <pre> tag omkring. Altså: <pre> <?PHP print_r($countrylist); ?> </pre>
Slettet bruger
02. august 2006 - 21:58
#9
så ser det pænere ud dit array print.
02. august 2006 - 22:00
#10
Ja, brugte lang tid på at sidde og formatere det sådan at jeg junne gennemskue strukturen: Array ( [0] => Array ( [ID] => 10 [CountryID] => 1 [Place] => Anemone Reef [MaxDepth] => ) [1] => Array ( [ID] => 17 [CountryID] => 2 [Place] => Helnæs Bogaard [MaxDepth] => 6 ) [2] => Array ( [ID] => 14 [CountryID] => 2 [Place] => Kattegat Centeret [MaxDepth] => ) [3] => Array ( [ID] => 12 [CountryID] => 1 [Place] => Koh Doc Mai [MaxDepth] => ) [4] => Array ( [ID] => 16 [CountryID] => 3 [Place] => Lighthouse Point [MaxDepth] => 21 ) [5] => Array ( [ID] => 3 [CountryID] => 2 [Place] => Lyngsbo / Ammoniak Havnen / Hullerne [MaxDepth] => ) [6] => Array ( [ID] => 8 [CountryID] => 2 [Place] => Motortorpedobåd nr. 4 [MaxDepth] => 10 ) [7] => Array ( [ID] => 13 [CountryID] => 1 [Place] => Racha Yai [MaxDepth] => ) [8] => Array ( [ID] => 11 [CountryID] => 1 [Place] => Shark Point [MaxDepth] => ) [9] => Array ( [ID] => 7 [CountryID] => 2 [Place] => Storbælt's Broen [MaxDepth] => ) [10] => Array ( [ID] => 5 [CountryID] => 2 [Place] => Søbadet [MaxDepth] => 27 ) [11] => Array ( [ID] => 9 [CountryID] => 2 [Place] => Sønderballe Strand [MaxDepth] => ) [12] => Array ( [ID] => 15 [CountryID] => 3 [Place] => Wreck Rock [MaxDepth] => 25 ) ) Array ( [0] => Array ( [LogID] => 0 [ID] => 1 [Country] => Thailand ) [1] => Array ( [LogID] => 0 [ID] => 2 [Country] => Danmark ) [2] => Array ( [LogID] => 0 [ID] => 3 [Country] => Tyrkiet ) )
02. august 2006 - 22:01
#11
... men det var jo min egen skyld - skrev ikke noget om brugen af <pre>. ;^)
Slettet bruger
02. august 2006 - 22:05
#12
hehe smiler.... ja sådan gjorder jeg squ også i starten da jeg begyndte at lege med arrays, og inde jeg fandt ud af <pre> tag'et. ;D
02. august 2006 - 22:17
#13
Tak for hjælpen, og tips
02. august 2006 - 22:18
#14
Tak for point :^)
Vi tilbyder markedets bedste kurser inden for webudvikling