如何在变量中保存mysql搜索结果

时间:2013-05-06 20:13:51

标签: php javascript mysql

我正在尝试使用我在JavaScript中通过PHP从MySQL获得的变量。我猜这个问题出在这一行:$speicher = $row['Vorname']

如何使用常规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>

5 个答案:

答案 0 :(得分:1)

只需将其作为javascript var

的值回显
var yourjavascriptvar = <?php echo $row['Vorname']; ?>;

答案 1 :(得分:0)

你忘记了分号

  $speicher = $row['Vorname'];

答案 2 :(得分:0)

您需要了解php的工作原理。 PHP预处理页面执行功能。当您使用“echo”功能时,它会将内容添加到您的网页,然后发送到浏览器然后执行javascript代码。

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

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

请记住封闭:''

答案 3 :(得分:0)

对于初学者来说,这是一个更复杂的问题,但通常你可以使用PHP来回显javascript,所以你可以把你的结果数组,循环并回显javascript ...这里有一个简短的例子来帮助你入门

echo "<script language='javascript' type='text/javascript'>var resultsArr = new Array();</script>";


while($row = mysql_fetch_array($rs)) {

      $speicher = $row['Vorname'];

      echo $row['Vorname'] . "<br />";

      echo "<script type='text/javascript'> resultsArr['Vorname'] = \"".$row['Vorname']."\" </script>";


}

答案 4 :(得分:0)

这段代码中可能存在一些错误......

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

 $speicher = $row['Vorname']

第二次:您将结果( s )提取到一个变量$ speicher。

第三:您的javascript不在HTML标记中。它可能不起作用,但如果它不是一种正确的方法。

第四:您使用PHP变量在javascript中使用它的方式对我来说似乎不错。

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