1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
<ul class="nav nav-pills m-2">
<li class="nav-item">
<a class="nav-link active disableAjax" href="{{ url('/database/multi-table-query', {'db': db}) }}">
{% trans 'Multi-table query' %}
</a>
</li>
<li class="nav-item">
<a class="nav-link disableAjax" href="{{ url('/database/qbe', {'db': db}) }}">
{% trans 'Query by example' %}
</a>
</li>
</ul>
<div class="mb-3">
<button class="btn btn-sm btn-secondary" type="button" data-bs-toggle="collapse" data-bs-target="#queryWindow" aria-expanded="true" aria-controls="queryWindow">
{% trans 'Query window' %}
</button>
</div>
<div class="collapse show mb-3" id="queryWindow">
<form action="" id="multi_table_query_form" class="multi_table_query_form query_form">
<input type="hidden" id="db_name" value="{{ db }}">
<fieldset class="pma-fieldset">
{% for table in tables %}
<div class="d-none" id="{{ table.hash }}">
<option value="*">*</option>
{% for column in table.columns %}
<option value="{{ column }}">{{ column }}</option>
{% endfor %}
</div>
{% endfor %}
{% for id in 0..default_no_of_columns %}
{% if id == 0 %}<div class="d-none" id="new_column_layout">{% endif %}
<fieldset class="pma-fieldset column_details query-form__fieldset--inline position-relative">
<select class="tableNameSelect query-form__select--inline">
<option value="">{% trans 'select table' %}</option>
{% for keyTableName, table in tables %}
<option data-hash="{{ table.hash }}" value="{{ keyTableName }}">{{ keyTableName }}</option>
{% endfor %}
</select>
<span>.</span>
<select class="columnNameSelect query-form__select--inline">
<option value="">{% trans 'select column' %}</option>
</select>
<br>
<input type="checkbox" checked="checked" class="show_col">
<span>{% trans 'Show' %}</span>
<br>
<input type="text" placeholder="{% trans 'Table alias' %}" class="table_alias">
<input type="text" placeholder="{% trans 'Column alias' %}" class="col_alias">
<br>
<input type="checkbox"
title="{% trans 'Use this column in criteria' %}"
class="criteria_col">
<button class="btn btn-link p-0 jsCriteriaButton" type="button" data-bs-toggle="collapse" data-bs-target="#criteriaOptions{{ id }}" aria-expanded="false" aria-controls="criteriaOptions{{ id }}">
{% trans 'criteria' %}
</button>
<div class="collapse jsCriteriaOptions" id="criteriaOptions{{ id }}">
<div>
<table class="table table-sm table-borderless align-middle w-auto">
<tr class="sort_order query-form__tr--bg-none">
<td>{% trans 'Sort' %}</td>
<td><input type="radio" name="sort[{{ id }}]">{% trans 'Ascending' %}</td>
<td><input type="radio" name="sort[{{ id }}]">{% trans 'Descending' %}</td>
</tr>
<tr class="logical_operator query-form__tr--bg-none query-form__tr--hide">
<td>{% trans 'Add as' %}</td>
<td>
<input type="radio"
name="logical_op[{{ id }}]"
value="AND"
class="logical_op"
checked="checked">
AND
</td>
<td>
<input type="radio"
name="logical_op[{{ id }}]"
value="OR"
class="logical_op">
OR
</td>
</tr>
<tr>
<td>Column</td>
<td colspan="2">
<select class="columnNameSelect query-form__select--inline opColumn">
<option value="">{% trans 'select column' %}</option>
</select>
</td>
</tr>
<tr class="query-form__tr--bg-none">
<td>Op </td>
<td>
<select class="criteria_op">
<option value="=">=</option>
<option value=">">></option>
<option value=">=">>=</option>
<option value="<"><</option>
<option value="<="><=</option>
<option value="!=">!=</option>
<option value="LIKE">LIKE</option>
<option value="LIKE %...%">LIKE %...%</option>
<option value="NOT LIKE">NOT LIKE</option>
<option value="NOT LIKE %...%">NOT LIKE %...%</option>
<option value="IN (...)">IN (...)</option>
<option value="NOT IN (...)">NOT IN (...)</option>
<option value="BETWEEN">BETWEEN</option>
<option value="NOT BETWEEN">NOT BETWEEN</option>
<option value="IS NULL">IS NULL</option>
<option value="IS NOT NULL">IS NOT NULL</option>
<option value="REGEXP">REGEXP</option>
<option value="REGEXP ^...$">REGEXP ^...$</option>
<option value="NOT REGEXP">NOT REGEXP</option>
</select>
</td>
<td>
<select class="criteria_rhs">
<option value="text">{% trans 'Text' %}</option>
<option value="anotherColumn">{% trans 'Another column' %}</option>
</select>
</td>
</tr>
<tr class="rhs_table query-form__tr--hide query-form__tr--bg-none">
<td></td>
<td>
<select class="tableNameSelect">
<option value="">{% trans 'select table' %}</option>
{% for keyTableName, table in tables %}
<option data-hash="{{ table.hash }}" value="{{ keyTableName }}">{{ keyTableName }}</option>
{% endfor %}
</select><span>.</span>
</td>
<td>
<select class="columnNameSelect query-form__select--inline">
<option value="">{% trans 'select column' %}</option>
</select>
</td>
</tr>
<tr class="rhs_text query-form__tr--bg-none">
<td></td>
<td colspan="2">
<input type="text"
class="rhs_text_val query-form__input--wide"
placeholder="{% trans 'Enter criteria as free text' %}">
</td>
</tr>
</table>
</div>
</div>
<button type="button" class="btn-close position-absolute top-0 end-0 jsRemoveColumn" aria-label="{% trans 'Remove this column' %}"></button>
</fieldset>
{% if id == 0 %}</div>{% endif %}
{% endfor %}
<fieldset class="pma-fieldset query-form__fieldset--inline">
<input class="btn btn-secondary" type="button" value="{% trans '+ Add column' %}" id="add_column_button">
</fieldset>
<fieldset class="pma-fieldset">
{# Keep the block without a space between the open and close tag #}
<textarea id="MultiSqlquery"
class="query-form__multi-sql-query"
cols="80"
rows="4"
name="sql_query"
dir="ltr"></textarea>
</fieldset>
</fieldset>
<fieldset class="pma-fieldset tblFooters">
<input class="btn btn-secondary" type="button" id="update_query_button" value="{% trans 'Update query' %}">
<input class="btn btn-primary" type="button" id="submit_query" value="{% trans 'Submit query' %}">
</fieldset>
</form>
</div>
<div id="sql_results"></div>
|