2016-12-09 7 views
1

Ich habe variable _randNum in JavaScirpt die Zufallszahl erzeugen zwischen 1 und 50.Daten von PHP Javascript Get abhängig von Javascript Variablenwert

Ich brauche einige Daten aus der Datenbank wählen, je nach Wert dieser Variablen.

Ich habe folgenden JavaScript-Code verwendet, um Daten aus der Datenbank über PHP auszuwählen (aber ohne JavaScript-Variable an PHP zu senden).

// handles the click event for link 1, sends the query 
function getSuccessOutput() { 
    getRequest(
     'questions.php', // demo-only URL 
     drawOutput, 
     drawError 
); 
    return false; 
} 

// handles drawing an error message 
function drawError() { 
    var container = document.getElementById('output'); 
    container.innerHTML = 'Bummer: there was an error!'; 
} 
// handles the response, adds the html 
function drawOutput(responseText) { 
    $.getJSON("questions.php", function(theObject){  

     var d1 = theObject.data1;  // Get the data from PHP 
     var d2 = theObject.data2; 
} 

// helper function for cross-browser request object 
function getRequest(url, success, error) { 
    var req = false; 
    try{ 
     // most browsers 
     req = new XMLHttpRequest(); 
    } catch (e){ 
     // IE 
     try{ 
      req = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch (e) { 
      // try an older version 
      try{ 
       req = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e){ 
       return false; 
      } 
     } 
    } 
    if (!req) return false; 
    if (typeof success != 'function') success = function() {}; 
    if (typeof error!= 'function') error = function() {}; 
    req.onreadystatechange = function(){ 
     if(req .readyState == 4){ 
      return req.status === 200 ? 
       success(req.responseText) : error(req.status) 
      ; 
     } 
    } 
    req.open("GET", url, true); 
    req.send(null); 
    return req; 
} 

Wie kann ich _randNum Variablenwert zu PHP schicken?

In PHP ich so etwas tun konnte:

$rnd = mysqli_real_escape_string($con, $_POST['randNum']);

aber keine Ahnung, wie in derselben Funktion Aus Javascript zu senden.

Ich könnte Funktion wie folgt erstellen :, aber wie man es richtig mit getSuccessOutput() Funktion verwendet?

function sendFtId() { 
    $.post("questions.php", { randNum : _randNum }) 
    .done(function(data) {   
    }); 
} 

Haben Sie irgendwelche Ideen?

+0

wenn Ihr '_randNum' ist auf' getSuccessOutput() 'Sie die URL von' ändern kann 'questions.php'', auf'' questions.php randNum =' + _ randNum', Beachten Sie, dass Sie in Ihrem PHP '' _ _GET' anstatt '$ _POST' verwenden werden – phobia82

Antwort

1

Sie können isset Funktion verwenden, um zu überprüfen, ob eine Postanforderung kommt oder nicht. Eg:

function getSuccessOutput($randNum) { 
    echo $randNum; 
} 

if(isset($_POST['randNum'])){ 
    getSuccessOutput($_POST['randNum']); 
}