2015-06-15 2 views
2

Здравствуйте, я очень нахмурился, потому что не могу подключиться к моей базе данных для извлечения некоторых файлов.Использование Ajax, JavaScript и HTML для публикации некоторых данных

У меня есть нормальный HTML код (index.html), который добавляет JavaScript:

<script src="js/connection.js"></script> 

Javascript (connection.js) выглядит примерно так, что детектирует из сетки элементов выбранного элемента и получает подмигнули текст:

var texto=""; 

function getData($dia){ 

//Variable $dia is set up correctly, no problem 

var dia=$dia; 
/* Send the data using post*/ 
$.ajax({ 
    url: "php/setup.php", 
    type: "post", 
    data: {'fecha':dia}, 
    contentType: "application/json", 
    datatype: "json", 
    success: function(){ 
     alert("Exito"); 
    }, 
    error:function(){ 
     alert("failure"); 
    } 
}); 
} 

//Get the desired text upon click on the grid item 
$(document).ready(function(){  
$(".grid__item").click(function(){ 
    $texto=$(this).html().substring(($(this).html().indexOf(">"),($(this).html().indexOf(">")+1)),$(this).html().indexOf("</h2>")); 
    getData($texto); 
}); 
}); 

Наконец с помощью Ajax я передать переменную «Fecha», проблема в том, что я думаю, что подмигнули не делает правильное соединение с моим файлом PHP, так как ничего не печатает (у меня есть метод, который печатает на консоль)

Я поставил метод пост вроде этого (PHP файл начинается здесь):

debug_to_console("Print Something"); 
$fecha = mysql_real_escape_string($_POST['fecha']); 
getPageData($fecha); 

Что вызывает этот метод:

function getPageData($dia){ 

$sql = ("SELECT * FROM Comentarios WHERE dia='$dia'"); 
$result = mysqli_query(connectToDb(),$sql); 
$num_rows = mysqli_num_rows($result); 
$html=""; 
$boolean=true; 
if($num_rows>0) { 
    while($row = $result->fetch_assoc()) {    
     if($boolean==true){ 
      $html.='<div class="gray"><div class="comentario">'.$row["comment"].'</div><div class="timestamp">'.$row["dia"].'</div></div>'; 
      $boolean=false; 
     }else{ 
      $html.='<div class="white"><div class="comentario">'.$row["comment"].'</div><div class="timestamp">'.$row["dia"].'</div></div>'; 
      $boolean=true; 
     } 
    } 
    echo json_encode(array('html'=>($html.'<br>'.'<div class="fondo_gen"> div></div></div>'),'texto'=>$dia)); 
} else { 
    echo json_encode(array('html'=>'<div class="transparent"><div class="nada">No hay comentarios aun :(</div></div>','texto'=>$dia)); 
} 
} 

PHP файл заканчивается здесь

Я знаю, что он подключается к базе данных с момента создания файла «dummy.php», который соединяется с той же базой данных и таблицей и добавляет запись без искажений м. Я не уверен, в чем проблема, я мог бы действительно оценить это, если бы вы могли мне помочь.

PS:

Мои папки установки, как это:

  1. index.html
  2. JS (папка) а. connection.js
  3. php (папка) a. setup.php

.
Спасибо и извините за мой дерьмовый английский

+1

Как вы можете печатать на консоль из файла PHP? Разве вы не путаетесь между кодом на стороне сервера и кодом на стороне клиента? Или, может быть, вы не говорите о консоли браузера, а о другом? Из того, что я вижу, ваша функция JS 'getData()' не собирается ничего печатать, кроме предупреждения. – blex

+1

И какая консоль работает в журнале PHP? Вы видите какие-либо предупреждения? – adeneo

+0

Добро пожаловать в переполнение стека. Что такое сообщение post/response в консоли браузера при выполнении AJAX? С какими ошибками вы сталкиваетесь? У вас нет никаких ошибок MySQLi. Кроме того, меня беспокоит сочетание функций Mysql и MySQLi. – Twisty

ответ

0

Ничего, я получил это фиксировано, я заменил часть Ajax с:

$.post("php/setup.php", 
{ 
    fecha: dia 
}, 
function(data, status){ 
    alert("Data: " + data + "\nStatus: " + status); 
}); 

и получил переменную с помощью

if (isset($_POST["fecha"])){ 
    $fecha = $_POST["fecha"]; 
    getPageData($fecha); 
}else{ 
    echo "Got nothing"; 
} 

Спасибо в любом случае, Я ценю помощь