Hvis du kan PHP, kan jeg ikke forstå, hvad det er, du ikke kan finde ud af ... det er som sagt et PHP-problem og ikke et JS-problem ;o)
<?php $a = array(); $query = mysql_query("select navn from tabel order by dato desc") or die(mysql_error()); while ($foo = mysql_fetch_assoc($query)) { $a[] = $foo["navn"]; } echo "list = new Array('".$a[0]."', '".$a[1]."', '".$a[2]."', '".$a[3]."');"; ?>
Tjaa ... hvis du ikke kender antallet, kan du i stedet skrive:
<?php $a = array(); $query = mysql_query("select navn from tabel order by dato desc") or die(mysql_error()); while ($foo = mysql_fetch_assoc($query)) { $a[] = $foo["navn"]; } echo "list = new Array('".implode("','", $a)."');"; ?>
:) Du kan også lægge PHP-koden ind i en funktion og skrive den i toppen af dit dokument. Derefter kan du kalde PHP-fuktionen nede i din HTML-/JS-kode, sådan:
<?php function getArray() { $a = array(); $query = mysql_query("select navn from tabel order by dato desc") or die(mysql_error()); while ($foo = mysql_fetch_assoc($query)) { $a[] = $foo["navn"]; } return "'".implode("','", $a)."'"; } ?> <script type="text/javascript"> // en hel masse linjer JavaScript her
list = new Array(<?=getArray()?>);
// en hel masse flere linjer JavaScript her </script>
ved du hvorfor det virker hvis jeg har hele javascript koden inde, men ikke hvis jeg bare linker til javascript-koden med <script type="text/javascript" src="sog.js"></script>?
Yups, så skal du bare kalde filen 'sog.php' - og faktisk skrive en header, der angiver indholdet:
<?php header("Content-type: text/javascript"); function getArray() { $a = array(); $query = mysql_query("select navn from tabel order by dato desc") or die(mysql_error()); while ($foo = mysql_fetch_assoc($query)) { $a[] = $foo["navn"]; } return "'".implode("','", $a)."'"; } ?> // en hel masse linjer JavaScript her
list = new Array(<?=getArray()?>);
// en hel masse flere linjer JavaScript her
Læg mærke til, der ikke må være script-tags i filen. Den inkludres så med: <script type="text/javascript" src="sog.php"></script>
Header'en er ikke strengt nødvendig - men god kodeskik :)
----------------- sog.php - START ----------------- <?php header("Content-type: text/javascript"); function getArray() { $a = array(); $query = mysql_query("select navn from tabel order by dato desc") or die(mysql_error()); while ($foo = mysql_fetch_assoc($query)) { $a[] = $foo["navn"]; } return "'".implode("','", $a)."'"; } ?> function displayResults(keyword) { var prefix = ''; var suffix = ''; var no_results = '<span class="no_results">Ingen resultater af din soegning!</span>';
list = new Array(<?=getArray()?>);
var output_buffer = ''; var keyword = keyword.toLowerCase(); var results = 0;
<?php header("Content-type: text/javascript"); function getArray() { $a = array(); $query = mysql_query("select navn from tabel order by dato desc") or die(mysql_error()); while ($foo = mysql_fetch_assoc($query)) { $a[] = $foo["navn"]; } return "'".implode("','", $a)."'"; } ?>
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.