Avatar billede uneerup Nybegynder
22. marts 2004 - 13:03 Der er 12 kommentarer og
1 løsning

Variable virker ikke?

Jeg kan ikke få følgende script til at virke, er der mon en venlig sjæl der kunne hjælpe mig :-)
<?
$Host = "";
$User = "";
$Password = "";
$DBName = "";
$TableName = "ansatte";
$Link = mysql_connect ($Host, $User, $Password);
$Query = "SELECT * FROM $TableName ";
$Result = mysql_db_query ($DBName, $Query, $Link);

while ($Row = mysql_fetch_array ($Result)) {

print "<script language=\"javascript\" type=\"text/javascript\">";
print "messages[$Row[id]] = new Array('$Row[name].gif','Here is a duck on a light blue background.',\"#DDECFF\");";
print "</script>";
mysql_close ($Link);
}

?>
Mvh
Avatar billede uneerup Nybegynder
22. marts 2004 - 13:05 #1
ups.. skal lige siges at "print mysql_close ($Link);" står efter }
men det virker stadig ikke, den vil ikke modtage den variable php sender til javascriptet.
Avatar billede schristensen Praktikant
22. marts 2004 - 13:06 #2
hvilken fejl giver det??
Avatar billede chries Nybegynder
22. marts 2004 - 13:09 #3
prøv
while ($Row = mysql_fetch_array ($Result)) {
print "<script language=\"javascript\" type=\"text/javascript\">";
print 'messages['.$Row['id'].'] = new Array(\''.$Row['name'].'.gif\',\'Here is a duck on a light blue background.\',"#DDECFF");';
print "</script>";
}
mysql_close ($Link);
Avatar billede 3xm Nybegynder
22. marts 2004 - 13:09 #4
print "<script language=\"javascript\" type=\"text/javascript\">";
print "messages[".$Row["id"]."] = new Array('".$Row["name"].".gif','Here is a duck on a light blue background.',\"#DDECFF\");";
print "</script>";
Avatar billede michael_stim Ekspert
22. marts 2004 - 13:09 #5
$Host = "";
$User = "";
$Password = "";
$DBName = "";
har du udfyldt dette?
Avatar billede uneerup Nybegynder
22. marts 2004 - 13:18 #6
jeg har prøvet chries og 3xm eksempler, og de virker ikke, men kan man ikke definere de variabler før de sættes ind, fordi javascript vil jo ikke genkende $row[id] for udfylder man dem manuelt uden $row[id] og $row[name] så virker det fint men så er der også kun et eksemplar der virker selvførlgelig.

mvh
Avatar billede chries Nybegynder
22. marts 2004 - 13:20 #7
Hvad siger den af fejl ?
Avatar billede uneerup Nybegynder
22. marts 2004 - 13:28 #8
nu skal i se:

<?
print "<script language=\"javascript\" type=\"text/javascript\"> ";
print "messages[0] = new Array('red_balloon.gif','Here is a red balloon on a white background',\"#FFFFFF\");";
print "messages[1] = new Array('duck2.gif','Here is a duck on a light blue background.',\"#DDECFF\");";
print "messages[2] = new Array('test.gif','Test description','black','white');";
print "</script>";

?>

det her virker fint på de to første, men der skal trækkes oplysninger fra db til messages[1] og til 'duck2.gif' i en løkke lige som jeg viste før.

Håber der er lettere at forstå, den gider bare ikke registrere de variabler php kommer med til javascriptfunktionen

mvh
Avatar billede chries Nybegynder
22. marts 2004 - 13:36 #9
Det her burde altså virke =)

$Query = "SELECT id, name FROM $TableName ";

$Result = mysql_db_query ($DBName, $Query, $Link)
  or die('fejl i query');

print "<script language=\"javascript\" type=\"text/javascript\">";

while ($Row = mysql_fetch_array ($Result)) {
  print 'messages['. $Row['id'] .'] = new Array(\''. $Row['name'] .'.gif\',\'Here is a duck on a light blue background.\',"#DDECFF");';
}

print "</script>";
Avatar billede 3xm Nybegynder
22. marts 2004 - 13:37 #10
<script type="text/javascript">
  <!--
  <?
  while($row = mysql_fetch_array($result)) {
    ?>
    messages[<?=$row["id"];?>] = new Array('<?=$row["name"];?>', 'beskrivelse...', 'farve');
    <?
  }
  ?>
  -->
</script>

den er lavet i hånden, uden test, så jeg vil ikke love noget.
Avatar billede 3xm Nybegynder
22. marts 2004 - 13:38 #11
og husk at køre addslashes() på de textværdier der er i $row[] da du ellers risikerer at der er nogle apostrofer i som ødelægger dit javascript.

=)
Avatar billede uneerup Nybegynder
22. marts 2004 - 14:46 #12
hejsa alle, jeg fandt selv ud af det, men takker mange gange for jeres hjælp, i kan se det her:

<?
print "<script language=\"javascript\" type=\"text/javascript\">  ";
print "messages[0] = new Array('red_balloon.gif','Here is a red balloon on a white background',\"#FFFFFF\"); ";
print "</script>";

$Host = "";
$User = "";
$Password = "";
$DBName = "";
$TableName = "ansatte";
$Link = mysql_connect ($Host, $User, $Password);
$Query = "SELECT * FROM $TableName ";
$Result = mysql_db_query ($DBName, $Query, $Link);
$nummer = "";
while ($Row = mysql_fetch_array ($Result)) {
$nummer++;
print "<script language=\"javascript\" type=\"text/javascript\">  ";
print "messages[$nummer] = new Array('$Row[navn].gif','$Row[navn]',\"#DDECFF\");        ";
print "</script>";
}
mysql_close ($Link);
?>

mvh
Avatar billede uneerup Nybegynder
22. marts 2004 - 14:47 #13
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