2014-02-19 5 views
0

Переменная передается через ajax и является именем базы данных. При щелчке по ссылке предполагается получить данные из базы данных. ссылка и переменная находятся на одной странице. Вот код для ссылки:Передача строковой переменной через ajax

$x = strval($_GET['x']);  

echo '<a href="#" onclick="showInformation('.$x.')">'.$seatid.'</a>'; 

Переменная $ x содержит имя таблицы базы данных. А вот код для AJAX:

function showInformation(str) 
{ 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
{// code for IE6, IE5 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() 
{ 
if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
document.getElementById("txtInfo").innerHTML=xmlhttp.responseText; 
} 
} 
xmlhttp.open("GET","getinfo.php?x="+str,true); 
xmlhttp.send(); 
} 

Вот это getinfo.php:

<?php 
session_start(); 
$_SESSION['login']="1"; 
$x = strval($_GET['x']); 

$con = mysql_connect('localhost','root','Newpass123#','seatmapping');  
if (!$con){ 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db('seatmapping'); 
$sql="SELECT name, seatid FROM $x WHERE seatid = 1"; 
$result = mysql_query($sql) or die("Query Error " . mysql_error()); 
... 
... 
?> 

Я не могу заставить его работать, когда я нажимаю на ссылку он не отображает данные из Таблица. Пожалуйста, помогите мне. Любая помощь приветствуется. Спасибо заранее.

+0

раскрытие названия таблицы не является хорошей практикой. –

+2

'// код для IE6, IE5' ... Я потерял дар речи. –

+0

Не использовать jQuery ajax в 2014 году ... Я потерял дар речи. :) –

ответ

0

Можете ли вы попробовать это:

Заменить строку

echo '<a href="#" onclick="showInformation('.$x.')">'.$seatid.'</a>'; 

С ниже:

echo '<a href="#" onclick="showInformation(\''.$x.'\')">'.$seatid.'</a>'; 

Это решит вашу проблему.

+0

Ничего себе! Ты гений, он работал. Большое спасибо Вам!! – rez

+0

, что имеет смысл, если вы не отправляли пустой объект вместо строки через AJAX, но по-прежнему смотрите на проблемы безопасности, о которых я упоминал, вы обнаружите, что ваша сессия никого не удерживает –

+0

@ BRADC Да, это совершенно разумно. Я просмотрел журнал ошибок, как вы сказали, он говорит, что он не определен. теперь я знаю. спасибо за ваши советы. и спасибо, что напомнили мне о сеансах. – rez

0

Вы не передадите ID ожидаемого элемента.

echo '<a href="#" id="txtInfo" onclick="showInformation('.$x.')">'.$seatid.'</a>'; 

Замените эту строку, вместо

echo '<a href="#" onclick="showInformation('.$x.')">'.$seatid.'</a>'; 
+0

, если бы вы пытались заменить содержимое тега на данные AJAX/SQL, но вы должны убедиться, что HTML, возможно, div, с соответствующим идентификатором существует –

+0

@Sagar Panchal У меня есть div, который имеет ID = "txtInfo". Должен ли я поместить его в тег ? – rez

+0

@rez, nop, тогда найдите правильную файловую связь, иначе используйте jquery ajax, это легко покинет мой frnd. – SagarPPanchal

Смежные вопросы