2009-08-19 2 views
0

Ich habe ein Kombinationsfeld, das mit einer Liste von Auswahlmöglichkeiten geladen wird. Wenn der Benutzer eine Auswahl auswählt, benötige ich ein JavaScript, um einfach eine Abfrage von MySql auszuführen (offensichtlich basierend auf der Benutzerauswahl im Kombinationsfeld), die einen einfachen, diskreten Wert zurückgibt, der dann auf der Seite neben dem angezeigt werden muss Kombinationsfeld.Benötigen Sie Beispiel-JavaScript, MySQL abzufragen und Ergebnis nach Comboboxupdate anzuzeigen

Die Abfrage ist nichts mehr als SELECT foo FROM tblexample WHERE id = blah (wo Blah ist der Kombinationsfeld Wert). Der Wert wird eine einfache Zahl sein. Wenn der Benutzer einen neuen Wert auswählt, sollte er das Ergebnis erneut abfragen und anzeigen.

Ich bin offen für das Lesen der gesamten Tabelle beim Laden der Seite in ein Array oder etwas auch. Ich arbeite in PHP, aber ich kenne kein Javascript; Ich habe nur auf ein Beispielcode-Bit gehofft; Ich kann die meiste Zeit lesen und hochrechnen.

Ich wollte nicht einfach einen Absenden-Button in ein Formular setzen und den Benutzer zwingen, das jedes Mal zu tun, wenn sie sich eine neue Auswahlliste ansehen. Ich wollte ein nahtloseres, schnelleres Display für sie.

+0

Suchen Sie nach Java-Hilfe (die serverseitige Sprache, die bekommt erfüllt) oder Javascript (die Skriptsprache, die in Ihrem Browser ausgeführt wird und nützlich für die Handhabung ist)? Ich denke, Sie könnten die beiden Sprachen miteinander verwechseln - wenn Sie das klären, werden Sie wahrscheinlich mehr nützliche Antworten erhalten. –

+0

Arbeiten Sie mit JSP/Servlet (Webanwendung)? – adatapost

+0

Javascript ist anscheinend, was ich suche. Danke, wie gesagt, ich bin sehr erfahren in PHP, nicht so sehr in Java (Skript). –

Antwort

0

JavaScript ist eine clientseitige Sprache. Es wird keine MySQL-Abfragen ausführen (zumindest sicher). Verwenden Sie PHP, um das HTML und JavaScript für das Kombinationsfeld dynamisch zu erstellen.

PHP hat eine entire section of their documentation reserviert für MySQL.

+0

Danke, ich kann die PHP-Version davon im Schlaf programmieren; Ich habe es so oft gemacht. Ich wollte es tun, ohne die Seite einreichen zu müssen und auf die Aktualisierung zu warten, so dass der Benutzer die Ergebnisse nur sehen konnte, wenn sie verschiedene Werte für das Drop-Down ausprobieren. –

0

Ich denke, Sie suchen tatsächlich nach einer Referenz in Ajax-Programmierung mit PHP auf dem Back-End und Javascript auf der Vorderseite.

Meine Empfehlung wäre, mit einem der ausgezeichneten Javascript-Entwicklung Frameworks zu betrachten. Große Kandidaten wären JQuery oder Prototype. Sie beide geben Ihnen solide Bibliotheken, um die Programmierung in Javascript zu vereinfachen.

Anstatt mit Beispielcode zu arbeiten, werden Sie durch die Entwicklung von JavaScript-Kenntnissen wahrscheinlich noch viel mehr lernen. Ajax ist kompliziert und Sie müssen mindestens Grundkenntnisse erwerben, bevor Sie mit der Integration von JavaScript und PHP beginnen können.

Hier ist eine gute Abfrage, um loszulegen - ich würde empfehlen, mit JQuery zu beginnen, wenn Sie eine auswählen müssen.

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=ajax+php+jquery+tutorial

0

Sobald Sie auf jQuery loszulegen wie Tim erwähnt können Sie dies tun,

Die Auswahlbox,

<form name="formName" action="" method=""> 
    <select name="selName"> 
    <option value={uniqueId}>Option 1</option> 
    </select> 
</form> 
<p class="displayMsg">No message to display.... yet</p> 

Die JavaScript und jQuery in einem Script-Tag des head-Tag ,

$(document).ready(function() { 
$('select[name=selName]').change(function() { 
    function processData(data, success) { 
    ...do something with the query results echoed into var data...such as 
    $('p.displayMsg').txt(data); // which will update the text node of the p tag class displayMsg 
    } // end function processData 
    var formData = $('form[name=formName]').serialize(); // this will encode the variables from the form to pass into post headers. You can access in your ajax called script with $_POST['selName'] 
    $.post('phpAjaxProcessScript.php',formData,processDataClose); // sends data to script and when it's done it calls function processData 
}); // end select change event function call 
}); // end document ready event function call