2013-05-06 54 views
0

我想通过JavaScript在JavaScript中使用从MySQL获取的变量。我猜测问题出在这一行:$speicher = $row['Vorname']如何将mysql搜索结果保存在变量中

如何使用常规PHP变量来存储我的搜索结果并在javaScript中重用它?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org 

/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Seite1</title> 
<meta name="author" content="admin1212"> 
<meta name="editor" content="html-editor phase 5"> 
</head> 
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000"> 
<img src="http://lodsb.org/socialcomp/artemis/1405.jpg" onload= "tim()"> 
<input type="button" value=" TAG1" id=" TAG1" name="select" style="height: 25px; width: 100px" size="100" onclick= "sel2(this)"> 
<input type="button" value=" TAG2" id=" TAG2" name="select" style="height: 25px; width: 100px" size="100" onclick= "sel2(this)"> 
<input type="button" value=" TAG3" id=" TAG3" name="select" style="height: 25px; width: 100px" size="100" onclick= "sel2(this)"> 
<input type="button" value=" TAG4" id=" TAG4" name="select" style="height: 25px; width: 100px" size="100" onclick= "sel2(this)"> 
<input type="button" value=" TAG5" id=" TAG5" name="select" style="height: 25px; width: 100px" size="100" onclick= "sel2(this)"> 
<input type="button" value=" TAG6" id=" TAG6" name="select" style="height: 25px; width: 100px" size="100" onclick= "sel2(this)"> 


<input type = "text" id = "count" readonly="readonly" value="0" > 
<input type = "text" id = "sel1" readonly="readonly" value="" > 
<input type = "text" id = "sel2" readonly="readonly" value="" > 

<?php 

    $speicher = "Hallo"; 



    // mit dem Datenbankserver verbinden 
    mysql_connect("localhost", "root", "") or die (mysql_error()); 

    // Datenbank auswählen 
    mysql_select_db("Menschen") or die(mysql_error()); 

    // SQL-Query 
    $strSQL = "SELECT * FROM Personen"; 

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis) 
    $rs = mysql_query($strSQL); 

    // Schleifendurchlauf durch $rs 
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array 
    while($row = mysql_fetch_array($rs)) { 
     $speicher = $row['Vorname'] 
     // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist) 
     echo $row['Vorname'] . "<br />"; 



     } 




    // Schließt die Datenbankverbindung 
    mysql_close(); 


    echo "Success: "; 
    echo date("r"); 





    ?> 

<input type="button" value="FUNKTION" id="button7" name="noselect" style="height: 25px; width: 100px" size="100" onclick= "a()"> 


</body> 
</html> 
<script type="text/javascript"> 
function Mauskontrolle (Element) { 
    Element.value="777777777" 
} 

function sel2 (Button){ 
var counter = document.getElementById("count").value 
var sel1 = document.getElementById("sel1") 
var sel2 = document.getElementById("sel2") 


if (counter==0){ 
sel1.value = Button.id 
} 
if (counter==1){ 
if (sel1.value == Button.id){ return } 
sel2.value = Button.id 
} 
counter++ 
if (counter >=2){ 
counter=0 
alert(sel1.value + " " + sel2.value) 

} 

document.getElementById("count").value = counter 

} 
function emp(){ 
var arr = document.getElementsByName("select") 
//alert(arr.length) 
for(var i = 0; i < arr.length; i++){ 
arr[i].value="" 
} 
} 
function tim(){ 
window.setTimeout(emp, 5000) 
} 
function a(){ 
var Ergebnis = '<?php echo $speicher;?>'; 
alert(Ergebnis); 
} 



</script> 
+1

该代码看起来不错..你有错误或什么? – 2013-05-06 20:15:52

+0

请注意,您的JavaScript不在HTML标记中。 – 2013-05-06 20:21:27

+0

@explosion丸:是啊其实我得到一个错误:解析错误:语法错误,意外'回声'(T_ECHO)在C:\ xampp \ htdocs \ Seite2.php在线47 – user2352375 2013-05-06 22:01:34

回答

0

这是一个初学者一个更复杂的问题,但通常你可以使用PHP来呼应JavaScript,因此你可能把你的结果阵列,环通和回声出javascript ...这是一个简单的例子,让你开始。

​​
+0

嗨,我想我明白你的意思,相当锐利在网站上硬编码;)为了完整起见,我添加了一个$ counter = 0;在while语句之外,并在循环执行时增加它,并将脚本更改为:echo“

1

只是附和它作为JavaScript的VAR

var yourjavascriptvar = <?php echo $row['Vorname']; ?>; 
+0

OP几乎在代码的末尾执行该操作。 --var Ergebnis ='<?php echo $ speicher;?>'; – 2013-05-06 20:24:55

+0

这不幸的是不工作。如果我用警报显示var的内容,它不会显示任何内容...... – user2352375 2013-05-06 22:07:25

0

的价值你忘了分号

$speicher = $row['Vorname']; 
+1

您说得对,那确实是问题,现在工作正常,但只包含最后的搜索结果,如预期的那样。非常感谢:) – user2352375 2013-05-06 22:20:01

0

你需要了解如何PHP的作品。 PHP预处理页面执行功能。当你使用函数“echo”时,它会将内容添加到你的网页,然后发送到浏览器,然后执行JavaScript代码。

为了在javascript中使用值,您需要在php中回显它们,就像那里总是存在的那样。

var jsValueName = '<?php echo $row["columnName"]; ?>'; 

记住与封闭:“”

+0

嗨,感谢您的建议,但那不工作,可能是因为$ row []在while语句之外是不可见的。;) – user2352375 2013-05-06 22:24:05

0

有出头,可能是错误的验证码...

首先:在你的代码中的行缺少一个分号。

$speicher = $row['Vorname'] 

:你取你的结果(小号)到一个变量$斯派克。

第三:您的javascript超出了HTML标记。它可能不起作用,但如果它不是一个正确的方法去做。

第四:您使用PHP变量在JavaScript中使用它的方式对我来说似乎很好。

var Ergebnis = '<?php echo $speicher;?>'; 
+0

你说的没错,分号不见了,谢谢;) – user2352375 2013-05-06 22:20:47

相关问题