2013-05-06 144 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

相關問題