form.twig 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. {% include 'secondary_tabs.twig' with {
  2. 'url_params': {
  3. 'db': db
  4. },
  5. 'sub_tabs': [
  6. {
  7. 'link': 'db_multi_table_query.php',
  8. 'text': 'Multi-table query'|trans
  9. },
  10. {
  11. 'link': 'db_qbe.php',
  12. 'text': 'Query by example'|trans
  13. }
  14. ]
  15. } only %}
  16. {{ Util_getDivForSliderEffect('query_div', 'Query window'|trans, 'open') }}
  17. <form action="" id="query_form">
  18. <input type="hidden" id="db_name" value="{{ db }}">
  19. <fieldset>
  20. {% for table in tables %}
  21. <div style="display:none" id="{{ table.hash }}">
  22. <option value="*">*</option>
  23. {% for column in table.columns %}
  24. <option value="{{ column }}">{{ column }}</option>
  25. {% endfor %}
  26. </div>
  27. {% endfor %}
  28. {% for id in 0..default_no_of_columns %}
  29. {% if id == 0 %}<div style="display:none" id="new_column_layout">{% endif %}
  30. <fieldset style="display:inline" class="column_details">
  31. <select style="display:inline" class="tableNameSelect">
  32. <option value="">{% trans 'select table' %}</option>
  33. {% for table in tables|keys %}
  34. <option value="{{ table }}">{{ table }}</option>
  35. {% endfor %}
  36. </select>
  37. <span>.</span>
  38. <select style="display:inline" class="columnNameSelect">
  39. <option value="">{% trans 'select column' %}</option>
  40. </select>
  41. <br>
  42. <input type="checkbox" checked="checked" class="show_col">
  43. <span>{% trans 'Show' %}</span>
  44. <br>
  45. <input type="text" placeholder="{% trans 'Table alias' %}" class="table_alias">
  46. <input type="text" placeholder="{% trans 'Column alias' %}" class="col_alias">
  47. <br>
  48. <input type="checkbox"
  49. title="{% trans 'Use this column in criteria' %}"
  50. class="criteria_col">
  51. {% include 'div_for_slider_effect.twig' with {
  52. 'id': 'criteria_div' ~ id,
  53. 'initial_sliders_state': 'closed',
  54. 'message': 'criteria'|trans
  55. } %}
  56. <div>
  57. <table>
  58. <tr class="sort_order" style="background:none">
  59. <td>{% trans 'Sort' %}</td>
  60. <td><input type="radio" name="sort[{{ id }}]">{% trans 'Ascending' %}</td>
  61. <td><input type="radio" name="sort[{{ id }}]">{% trans 'Descending' %}</td>
  62. </tr>
  63. <tr class="logical_operator" style="background:none;display:none">
  64. <td>{% trans 'Add as' %}</td>
  65. <td>
  66. <input type="radio"
  67. name="logical_op[{{ id }}]"
  68. value="AND"
  69. class="logical_op"
  70. checked="checked">
  71. AND
  72. </td>
  73. <td>
  74. <input type="radio"
  75. name="logical_op[{{ id }}]"
  76. value="OR"
  77. class="logical_op">
  78. OR
  79. </td>
  80. </tr>
  81. <tr style="background:none">
  82. <td>Op </td>
  83. <td>
  84. <select class="criteria_op">
  85. <option value="=">=</option>
  86. <option value=">">&gt;</option>
  87. <option value=">=">&gt;=</option>
  88. <option value="<">&lt;</option>
  89. <option value="<=">&lt;=</option>
  90. <option value="!=">!=</option>
  91. <option value="LIKE">LIKE</option>
  92. <option value="LIKE %...%">LIKE %...%</option>
  93. <option value="NOT LIKE">NOT LIKE</option>
  94. <option value="IN (...)">IN (...)</option>
  95. <option value="NOT IN (...)">NOT IN (...)</option>
  96. <option value="BETWEEN">BETWEEN</option>
  97. <option value="NOT BETWEEN">NOT BETWEEN</option>
  98. <option value="IS NULL">IS NULL</option>
  99. <option value="IS NOT NULL">IS NOT NULL</option>
  100. <option value="REGEXP">REGEXP</option>
  101. <option value="REGEXP ^...$">REGEXP ^...$</option>
  102. <option value="NOT REGEXP">NOT REGEXP</option>
  103. </select>
  104. </td>
  105. <td>
  106. <select class="criteria_rhs">
  107. <option value="text">{% trans 'Text' %}</option>
  108. <option value="anotherColumn">{% trans 'Another column' %}</option>
  109. </select>
  110. </td>
  111. </tr>
  112. <tr class="rhs_table" style="display:none;background:none">
  113. <td></td>
  114. <td>
  115. <select class="tableNameSelect">
  116. <option value="">{% trans 'select table' %}</option>
  117. {% for table in tables|keys %}
  118. <option value="{{ table }}">{{ table }}</option>
  119. {% endfor %}
  120. </select><span>.</span>
  121. </td>
  122. <td>
  123. <select style="display:inline" class="columnNameSelect">
  124. <option value="">{% trans 'select column' %}</option>
  125. </select>
  126. </td>
  127. </tr>
  128. <tr style="background:none" class="rhs_text">
  129. <td></td>
  130. <td colspan="2">
  131. <input type="text"
  132. style="width:91%"
  133. class="rhs_text_val"
  134. placeholder="{% trans 'Enter criteria as free text' %}">
  135. </td>
  136. </tr>
  137. </table>
  138. </div>
  139. </div>
  140. <a href="#"
  141. title="{% trans 'Remove this column' %}"
  142. style="float:right;color:red"
  143. class="removeColumn">
  144. X
  145. </a>
  146. </fieldset>
  147. {% if id == 0 %}</div>{% endif %}
  148. {% endfor %}
  149. <fieldset style="display:inline">
  150. <input type="button" value="{% trans '+ Add column' %}" id="add_column_button">
  151. </fieldset>
  152. <fieldset>
  153. {% apply spaceless %}
  154. <textarea id="MultiSqlquery"
  155. cols="80"
  156. rows="4"
  157. style="float:left"
  158. name="sql_query"
  159. dir="ltr">
  160. </textarea>
  161. {% endapply %}
  162. </fieldset>
  163. </fieldset>
  164. <fieldset class="tblFooters">
  165. <input type="button" id="update_query_button" value="{% trans 'Update query' %}">
  166. <input type="button" id="submit_query" value="{% trans 'Submit query' %}">
  167. </fieldset>
  168. </form>
  169. </div>{# Slider div #}
  170. <div id="sql_results"></div>