Heim >Backend-Entwicklung >PHP-Tutorial >In der while-Schleife sind Abfrage und Ajax erforderlich
Ich würde gerne fragen, ob Ihre Schreibmethode mit meiner übereinstimmt?
Angenommen, ich möchte eine Schleife zum Abrufen von Daten verwenden
<code>while ($row=mysql_fetch_array($sql)){ 資料顯示... } </code>
Aber nehmen wir an, ich muss die $row[id] in den Daten schleifen, um andere Dinge zu tun
Ich muss mysql_query in die Weile einfügen, damit ich die $row[id] jeder Transaktion kennen kann
Gefällt mir hier entlang
<code>while ($row=mysql_fetch_array($gettimeline)){ $sql2 = mysql_query("SELECT * FROM `xxx` WHERE `id` = '".$row['id']."' "); } </code>
Nachdem jedes Datenelement abgerufen wurde
wird er dann nicht jede $sql2-Abfrage wiederholen?
Ist das die richtige Art, es zu schreiben?
Das Gleiche gilt für Ajax
Angenommen, ich möchte einen Artikel löschen, um die Artikel-ID zu erhalten
<code>while ($row=mysql_fetch_array($gettimeline)){ $sql2 = mysql_query("SELECT * FROM `xxx` WHERE `id` = '".$row['id']."' "); <script> $("#remove_timeline_<? echo $row['timeline_id'];?>").click(function(){ $.ajax({ type: "POST", url:"remove?to=<? echo $row['timeline_id'];?>", cache: false, success: function(){ } }); } }); </script> } </code>
Auf diese Weise werden bei jedem Strich Ajax und Abfrage wiederholt. Je mehr Striche, desto langsamer wird es....
Was würden Sie tun?
Ich würde gerne fragen, ob Ihre Schreibmethode mit meiner übereinstimmt?
Angenommen, ich möchte eine Schleife zum Abrufen von Daten verwenden
<code>while ($row=mysql_fetch_array($sql)){ 資料顯示... } </code>
Aber nehmen wir an, ich muss die $row[id] in den Daten schleifen, um andere Dinge zu tun
Ich muss mysql_query in die Weile einfügen, damit ich die $row[id] jeder Transaktion kennen kann
Gefällt mir hier entlang
<code>while ($row=mysql_fetch_array($gettimeline)){ $sql2 = mysql_query("SELECT * FROM `xxx` WHERE `id` = '".$row['id']."' "); } </code>
Nachdem jedes Datenelement abgerufen wurde
wird er dann nicht jede $sql2-Abfrage wiederholen?
Ist das die richtige Art, es zu schreiben?
Das Gleiche gilt für Ajax
Angenommen, ich möchte einen Artikel löschen, um die Artikel-ID zu erhalten
<code>while ($row=mysql_fetch_array($gettimeline)){ $sql2 = mysql_query("SELECT * FROM `xxx` WHERE `id` = '".$row['id']."' "); <script> $("#remove_timeline_<? echo $row['timeline_id'];?>").click(function(){ $.ajax({ type: "POST", url:"remove?to=<? echo $row['timeline_id'];?>", cache: false, success: function(){ } }); } }); </script> } </code>
Auf diese Weise werden bei jedem Strich Ajax und Abfrage wiederholt. Je mehr Striche, desto langsamer wird es....
Was würden Sie tun?
„Zyklus“ bedeutet „Kreislauf“, oder?
Wenn die Anzahl der Datenelemente zunimmt, nimmt auch die Anzahl der Anforderungen zu. Im Allgemeinen werden solche wiederholten und ähnlichen externen E/A-Vorgänge für die Zusammenführung berücksichtigt.
Zum Beispiel:
<code class="sql">SELECT * FROM `xxx` WHERE id in (1,2,3,4,5)</code>