Avatar billede sebast Nybegynder
31. juli 2005 - 15:55 Der er 13 kommentarer og
1 løsning

php og javascript

jeg vil hente noget fra phpmyadmin ud i koden på denne side

http://pastebin.com/326095

outputtet skal være ihvert af boksene der er indrammet af ''

'navn', 'navn2', 'navn3', 'navn23'
Avatar billede olebole Juniormester
31. juli 2005 - 22:26 #1
<ole>

Jamen, så er det vel et PHP-spørgsmål, der bør stilles i PHP-kategorien - og vel at mærke med de relevante, nødvendige oplysninger  :)

/mvh
</bole>
Avatar billede sebast Nybegynder
31. juli 2005 - 22:35 #2
jeg kan selv php, og uden og kunne javascript har man ikke en change i det her spørgsmål :D

så jeg mener selv det er velplaceret
Avatar billede sebast Nybegynder
31. juli 2005 - 22:37 #3
hvis oplysningerne ikke er nok, og så dem der ikke kan php også er med, så er der det php-script jeg vil have ind nedenfor.

<?php
$query = mysql_query("select navn from tabel order by dato desc") or die(mysql_error());
while ($foo = mysql_fetch_assoc($query)) {

echo "$foo[navn]";
}
?>
Avatar billede olebole Juniormester
31. juli 2005 - 22:47 #4
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]."');";
?>
Avatar billede sebast Nybegynder
31. juli 2005 - 22:52 #5
nå forsatan.. kan du få den til og udskrive alle rækkerne istedet for kun de 4, og gider du smide en hel kode - altså sammen med det andet? :)
Avatar billede olebole Juniormester
31. juli 2005 - 22:57 #6
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)."');";
?>
Avatar billede sebast Nybegynder
31. juli 2005 - 23:00 #7
det var satans.. smid et svar :)
Avatar billede olebole Juniormester
31. juli 2005 - 23:03 #8
:)
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>
Avatar billede sebast Nybegynder
31. juli 2005 - 23:22 #9
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>?
Avatar billede olebole Juniormester
31. juli 2005 - 23:31 #10
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  :)
Avatar billede sebast Nybegynder
01. august 2005 - 00:15 #11
hver gang jeg rør ved noget forkert så går det galt. :(

kan du hjælpe mig med og få dér hvor jeg vælger hvad den skal udskrive - ud i en normal fil - så jeg ikke skal have det inde i min javascript-kode.
Avatar billede olebole Juniormester
01. august 2005 - 01:29 #12
----------------- 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;

        for (i=0;i<list.length;i++) {
                inf = list[i].split('adskil');
                if (inf[0].toLowerCase().indexOf(keyword) != -1) {
                        output_buffer += '<div class="' + ((results % 2) ? 'item_1' : 'item_2') + '">' + (i+1) + '. ' + inf[0] + '</div>';
                        results++;
                }
        }
        document.getElementById('results').innerHTML = prefix + ((results == 0) ? no_results : output_buffer) + suffix;
        document.getElementById('number_of_results').innerHTML = results;
}
----------------- sog.php - SLUT ------------------

I din HTML-fils head-sektion:
<script type="text/javascript" src="sog.php"></script>

- og et eller andet sted i din HTML-fil skriver du så:
<input type="text" onkeyup="displayResults(this.value)"><br /><br />

antal: <span id="number_of_results"></span>

<div id="results"><script type="text/javascript">displayResults('')</script></div>
Avatar billede sebast Nybegynder
01. august 2005 - 11:32 #13
det har jeg gjort. men jeg ville have:

<?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)."'";
}
?>

ud i min 'html'-fil.
Avatar billede olebole Juniormester
01. august 2005 - 12:03 #14
- så fatter jeg ikke en lyd af, hvad du vil  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester