Avatar billede kimox Nybegynder
26. juli 2010 - 21:59 Der er 22 kommentarer og
1 løsning

hjælp til array

Hej eksperter.

Jeg har brug for hjælp til en array som skal hente nogen oplysninger gennem en database og så smide det ind i et javascript.

Scriptet jeg har lavet indtil nu:

var fcontent=new Array();
begintag='<div style="padding: 3px;">'; //set opening tag, such as font declarations
<?php
$kdmening = mysql_query("SELECT langtxt, person, firma CONCAT(LEFT(langtxt, 25),'...') AS korttxt FROM kdmening ORDER BY id DESC") or die(mysql_error());

while ($row = mysql_fetch_array($kdmening))
{
$person = $row['person'];
$firma = $row['firma'];
fcontent[]='"$korttxt" <b>Læs mere</b><br><br><b>$person, $firma</b>';
}
?>
closetag='</div>';

jeg håber i kan se lidt mening i det, ellers skriv endelig.
Avatar billede majbom Novice
26. juli 2010 - 22:13 #1
jeg går ud fra at flg skal være java script:

fcontent[]='"$korttxt" <b>Læs mere</b><br><br><b>$person, $firma</b>';

så skal du nok skrive "echo" foran
Avatar billede kimox Nybegynder
27. juli 2010 - 08:09 #2
det har jeg bare prøvet men den poster ikke :-(
Avatar billede majbom Novice
27. juli 2010 - 08:46 #3
hvordan kommer kildekoden til at se ud?
Avatar billede kimox Nybegynder
27. juli 2010 - 09:00 #4
jeg forstår ikke helt dit spg.

Jeg er ikke den bedste til php ..
Avatar billede majbom Novice
27. juli 2010 - 11:04 #5
når du går ind på siden i din browser og højreklikker på siden og vælger "vis kildekode" hvordan ser det så ud?
Avatar billede flatov Nybegynder
28. juli 2010 - 21:32 #6
Som jeg ser det, fejler det da du får blandet javascript med php, du prøver at fylde fcontent[] inde mellem php tagsne.

Jeg har forsøgt at isolere sprogene fra hinanden, så javascript ikke ligger inde i php'en.

var fcontent=new Array();
begintag='<div style="padding: 3px;">'; //set opening tag, such as font declarations
<?php
$kdmening = mysql_query("SELECT langtxt, person, firma CONCAT(LEFT(langtxt, 25),'...') AS korttxt FROM kdmening ORDER BY id DESC") or die(mysql_error());

while ($row = mysql_fetch_array($kdmening))
{
$person = $row['person'];
$firma = $row['firma'];
?>
fcontent[]='<?=$korttxt;?> <b>Læs mere</b><br><br><b>$person, $firma</b>';
<?
}
?>
closetag='</div>';
Avatar billede flatov Nybegynder
28. juli 2010 - 21:33 #7
fcontent[]='<?=$korttxt;?> <b>Læs mere</b><br><br><b><?=$person;?>, <?=$firma?></b>';

Manglede lige resten.
Avatar billede flatov Nybegynder
28. juli 2010 - 21:33 #8
fcontent[]='<?=$korttxt;?> <b>Læs mere</b><br><br><b><?=$person;?>, <?=$firma;?></b>';
Avatar billede kimox Nybegynder
29. juli 2010 - 17:44 #9
jeg tester lige senere eller i morgen .. men det ser godt ud flatov :D
Avatar billede kimox Nybegynder
29. juli 2010 - 20:43 #10
så har jeg testet, men den danner ikke array med det den poster i koden..

altså den smider ikke 0,1,2 ind i fcontent[] men den smider fint noget ind i de efterfølgende <?=$xxx.....
Avatar billede flatov Nybegynder
29. juli 2010 - 20:53 #11
Okay, jeg tror vi skal ud i noget der ser sådan ud her.

<?
echo 'var fcontent=new Array();';
echo 'begintag="<div style="padding: 3px;">";';

$kdmening = mysql_query("SELECT langtxt, person, firma CONCAT(LEFT(langtxt, 25),'...') AS korttxt FROM kdmening ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_array($kdmening))
{
$person = $row['person'];
$firma = $row['firma'];

echo 'fcontent[]="' . $korttxt . '" <b>Læs mere</b><br><br><b>"' . $person . '","' . $firma . '"</b>"';
}
echo '<script type="text/javascript">';
echo 'closetag="</div>"';
echo '</script>'
?>
Avatar billede flatov Nybegynder
29. juli 2010 - 20:54 #12
Selvfølgelig sådan her.!

<?
echo '<script type="text/javascript">';
echo 'var fcontent=new Array();';
echo 'begintag="<div style="padding: 3px;">";';

$kdmening = mysql_query("SELECT langtxt, person, firma CONCAT(LEFT(langtxt, 25),'...') AS korttxt FROM kdmening ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_array($kdmening))
{
$person = $row['person'];
$firma = $row['firma'];

echo 'fcontent[]="' . $korttxt . '" <b>Læs mere</b><br><br><b>"' . $person . '","' . $firma . '"</b>"';
}
echo 'closetag="</div>"';
echo '</script>'
?>
Avatar billede flatov Nybegynder
29. juli 2010 - 20:54 #13
fejler virkelig med syntaxen idag.

echo '</script>';
Avatar billede kimox Nybegynder
29. juli 2010 - 21:10 #14
du får lige en update på hvordan jeg har rettet koden lidt til, da jeg ikke kan få mysql til at virke ordentlig med CONCAT(LEFT.....

samt jeg åbner og lukker javascriptet andre steder, da det oprindelige javescript er noget større :o)

<?
echo 'var fcontent=new Array();';
echo 'begintag="<div style="padding: 3px;">";';

require "../db.php";
$kdmening = mysql_query("SELECT * FROM kdmening ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_array($kdmening))
{
$person = $row['person'];
$langtxt = $row['langtxt'];
$firma = $row['firma'];

echo 'fcontent[]="' . $langtxt . '" <b>Læs mere</b><br><br><b>"' . $person . '","' . $firma . '"</b>"';
}
echo 'closetag="</div>"';

?>
Avatar billede kimox Nybegynder
29. juli 2010 - 21:11 #15
Men desværre virker det ikke endnu, og teksten står helt hulter til bulter inde i kildekoden når jeg ser kildekoden.

Den henter stadig ikke array :o(
Avatar billede flatov Nybegynder
29. juli 2010 - 21:18 #16
Jeg har prøvet at lege lidt med eget udtræk fra min database.

Din kode er blevet sat ind istedet for min, så det passer med dit udtræk.

Kildekoden ser ikke alt for god ud, men har forsøgt med en alert for at kontrollere array'et og det virker.

Håber du kan bruge dette til noget.
<?
require "../db.php";
$kdmening = mysql_query("SELECT * FROM kdmening ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_array($kdmening))
{
$person = $row['person'];
$langtxt = $row['langtxt'];
$firma = $row['firma'];
$a[] = $langtxt . '<b>Læs mere</b><br><br><b>' . $person . ',' . $firma;
}
?>
<html>
<head>
</head>
<body>
<script type="text/javascript">
var fcontent = new Array();
<?
for ($i=0; $i< count($a); $i++) {
echo 'fcontent['.$i.']= "'. $a[$i] .'";';
}
?>
</script>

</body>
</html>
Avatar billede kimox Nybegynder
29. juli 2010 - 22:16 #17
nu synes jeg at koden faktisk ser rigtig ud :D..

men den printer det ikke ud på siden, men kun i kildekoden, hmm er ved at få grå hår haha
Avatar billede kimox Nybegynder
29. juli 2010 - 22:19 #18
dette er den tilrettede kode jeg har lavet


<?
require "../db.php";
$kdmening = mysql_query("SELECT * FROM kdmening ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_array($kdmening))
{
$person = $row['person'];
$langtxt = $row['langtxt'];
$firma = $row['firma'];
$a[] = $langtxt . '<b>Læs mere</b><br><br><b>' . $person . '' . $firma;
}
?>
var fcontent=new Array();
begintag='<div style="font: normal 14px Arial; padding: 5px;">';
<?
echo "\n";
for ($i=0; $i< count($a); $i++) {
echo 'fcontent['.$i.']="'.$a[$i].'";';
echo "\n";
}
?>
closetag='</div>';
Avatar billede kimox Nybegynder
29. juli 2010 - 22:23 #19
glem det, jeg tror det var noget i min tekst fra mysql der ødelagde det :D..

kan du få den der CONCAT(LEFT..... i mysql udtrækket til at virke?
Avatar billede flatov Nybegynder
29. juli 2010 - 22:50 #20
Nu er det jo javascript, du har jo ikke bedt den om at skrive det ud :)

for(i = 0; length(fcontent); i++) {
document.write(fcontent[i]);
}


Du ønsker at tage de første 25 tegn fra dit felt?

prøv at brug SUBSTR(langtxt, 25) AS korttext
Avatar billede kimox Nybegynder
03. august 2010 - 20:19 #21
smid et svar, tusind tak for din hjælp
Avatar billede flatov Nybegynder
03. august 2010 - 21:45 #22
Velbekomme
Avatar billede kimox Nybegynder
06. august 2010 - 14:51 #23
igen mange tak for hjælpen, det var perfekt :o)

-tråd lukket-
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