JavaScriptの関数(Ajax)を実行するために、whileループ内でmysql_fetch_arrayの特定の数値結果を使用しようとしています。次のように私のPHPコードの基本的なスニペットは、次のとおりです。次のように私のJavascriptコードのMySqlフェッチ配列とAjaxを使用してクリック可能なリンクを作成する
while ($data = mysql_fetch_array($result))
{
$link = $data['id']; //example results will be 12345
echo '<span id="val" onclick="goto()">'.$link.'</span>'; //lists 12345, and makes each clickable
}
一部は次のとおりです。
function goto(str)
{
Ajax...
var idval = document.getElementById('val').innerHTML; //grabs 1,2,3,4, or 5 based on which number was clicked
Ajax...
}
私がここでやろうとしていますどのようなMySQLからのクエリ複数のレコードで、一覧表示結果をwhileループを使用して、各結果をクリック可能にし、内部HTMLをAjaxの変数に渡します。
私の問題は、whileループリストから結果をクリックすると、mysqlフェッチ配列の最初の結果だけを渡すことです。たとえば、whileループは12345を表示します.3をクリックすると、内部HTMLとして1が取得されます。 5をクリックしようとすると、内部HTMLとして1が得られます。等々...常に最初の結果が得られます。
mysqlフェッチ配列を爆発的に分解しようとしましたが、内側のhtmlは常に配列結果の最初の行になります。配列を何とか分割する必要があるので、各行は視覚的にではなく独立していますが、プログラムではgetElementById.innerHTMLを使用して取得できます。
本当にありがとうございます。あなたの提案とうまくいけば答えは本当に私のPHPプロジェクトをはるかに役立つようになります。
こんにちはdevelroot - あなたロック!あなたの提案はうまくいった。あなたの変更に応じて、関数goto(link、str)を追加しました。 (str)はajaxを指します:url = url + "?q" + str;ありがとうございました! – user175328