Ich bin ziemlich neu in js. Hier habe ich ein js-Skript, das eine Textbox Eingabe auf Klick für Abfragen an eine Datenbank mit PHP-basierten mysql fügt. Jedes neu hinzugefügte Textfeld hat einen ID-Namen mit einer fortlaufenden Nummer am Ende für die Anzahl der hinzugefügten Textfelder von der js-Schaltfläche, wie ID_0, ID_1 usw. Ich frage mich, ob es möglich ist, die PHP-Abfrage für jedes nachfolgende Textfeld einzeln auszuführen . Das Problem, das ich habe, verfolgt, wie viele neue Textfelder hinzugefügt wurden, um zu wissen, wie viele Iterationen der Abfrage ich ausführen sollte, da die Klick-Nummer eine js-Variable ist. Gibt es eine Möglichkeit, eine PHP-Abfrage basierend auf der Anzahl der js-Klicks oder speziell einer js-Variablen zu iterieren? (Oder bin ich denke, das in der falschen Art und Weise zu tun?)mehrere Anzahl von PHP-Abfragen basierend auf js Klicks
Skript Eingabefeld hinzuzufügen:
<input id="btnAdd" type="button" value="Add" />
<br />
<br />
<div id="TextBoxContainer">
</div>
<br />
<input id="btnGet" type="button" value="Get Values" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var click_number = 0;
$("#btnAdd").bind("click", function() {
var div = $("<div />");
click_number++;
console.log(click_number);
div.html(GetDynamicTextBox("id"+click_number));
$("#TextBoxContainer").append(div);
});
$("body").on("click", ".remove", function() {
$(this).closest("div").remove();
click_number--;
console.log(click_number);
});
});
function GetDynamicTextBox(value0) {
return '<label>Input <textarea rows="1" name="id_'+ value0 +'"><?php echo $_POST["id_'+ value0 +'"]; ?></textarea></label> ';
}
</script>
für den PHP-Teil, schalte ich den $ _POST Variable in ein PHP-Variable und ein einfache laufen Abfrage an die Datenbank, die die PHP-Variable mit einer bestimmten Spalte vergleicht. Bisher kann ich das nur tun, wenn ich weiß, wie viele $ _POST-Variablen es geben wird.
Wenn ich die Post-Indizes mit den Spalten übereinstimme, würde nicht jedes Mal, wenn ich ein Textfeld hinzufüge, das zuletzt hinzugefügte Textfeld die vorherige Eingabe aus den vorherigen Textfeldern überschreiben, weil sie den gleichen Namen haben? – Steven
nein, es wird nur eine neue Zeile für jeden Ajax-Aufruf eingefügt. Nichts wird jemals überschrieben, wenn Sie eine "Einfügen" -Abfrage machen. inly eine "update" -Abfrage kann Dinge überschreiben. –
Ich denke, dass ich meine Nachfolgefrage falsch formuliert habe oder vielleicht immer noch verwirrt bin. Am Anfang hast du $ _POST ['name'] = "bob" gesetzt. Wenn ich zwei Eingabefelder mit meinem js-Skript sowohl mit $ _POST ['name'] als Variable für die Eingabe erzeuge, erzeugt es 2 identische Textfelder mit der gleichen ID und somit wird nur die letztere ID-Eingabe erkannt. Ist das nicht richtig? – Steven