Взема на точна стойност от инпут

C++ JAVA
Knoppix_
Турист
Турист
Posts: 322
Joined: Mon Aug 24, 2009 11:55 am

Взема на точна стойност от инпут

Post by Knoppix_ » Wed Jun 12, 2013 12:22 pm

Здравейте имам инпут на който взимам стойност с $_POST
идеята е че в този нпут има празни символи пример PB 0031 PK

по този инпут след като взема стойноста му правя where клауза която вкарвам в заявка как мога да вземам точната стойност на инпута защотот при това търсене
PB 0031 PK

ми извежда и резултати PB 0034 PK PB 0038 PK а аз иксам да извежда само тези

User avatar
djman
Гуру
Гуру
Posts: 2800
Joined: Sat Sep 12, 2009 8:07 am
Answers: 107

Post by djman » Wed Jun 12, 2013 12:25 pm

По-правилно щеше да бъде да записваш тези номера така: AB1234CD , без интервалите.

А относно проблема ти не разбирам. Пишеш WHERE `pole` = 'PB 0031 PK' и ти излизат 0034, 0038 ..?? Дай малко код...

Knoppix_
Турист
Турист
Posts: 322
Joined: Mon Aug 24, 2009 11:55 am

Post by Knoppix_ » Wed Jun 12, 2013 12:26 pm

Да точно това имам предвид иначе да знам че по правилно ще е да са без интервал но ..

User avatar
djman
Гуру
Гуру
Posts: 2800
Joined: Sat Sep 12, 2009 8:07 am
Answers: 107

Post by djman » Wed Jun 12, 2013 12:27 pm

Knoppix_ wrote:Да точно това имам предвид иначе да знам че по правилно ще е да са без интервал но ..
Дай следните неща: формата ти и действията, които правиш при натискане на бутона

Knoppix_
Турист
Турист
Posts: 322
Joined: Mon Aug 24, 2009 11:55 am

Post by Knoppix_ » Wed Jun 12, 2013 12:29 pm

Кода на файла който е хтмл е това

Code: Select all

<body>
	<h2>Basic CRUD Application</h2>
	<div class="demo-info" style="margin-bottom&#58;10px">
	</div>
    <input type="text" name="vlekach_number" name="vlekach_number" value="<?php echo $_GET&#91;'kamion'&#93;; ?>">
	
	<table id="dg" title="Списъци" class="easyui-datagrid" style="width&#58;860px;height&#58;400px"
			url="pages/get_zarejdane.php"
			toolbar="#toolbar" pagination="true"
			rownumbers="true" fitColumns="true" singleSelect="true">
		<thead>
			<tr>
				<th field="vlekach" width="50" align="center">Влекач</th>
				<th field="data" width="50">Дата</th>
                <th field="strana" width="150">Държава</th>
                <th field="bezinostancia" width="150">Бензиностанция</th>
                <th field="kolichestvo" width="70">Количество</th>
                <th field="kilometraj" width="70">Километраж</th>
                <th field="tonaj" width="90">Тонаж</th>
                <th field="full" width="50">Фулиран</th>
			</tr>
		</thead>
	</table>
	<div id="toolbar">
		<a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onClick="newZarejdane&#40;&#41;">Нов запис</a>
		<a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onClick="editZarejdane&#40;&#41;">Редакция</a>
		<a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onClick="removeZarejdane&#40;&#41;">Изтриване</a>
</div>
	
	<div id="dlg" class="easyui-dialog" style="width&#58;400px;padding&#58;10px 20px"
			closed="true" buttons="#dlg-buttons">
		<div class="ftitle">Нов запис</div>
		<form id="fm" method="post" novalidate>
			<div class="fitem">
				<label>Влекач&#58;</label>
				<input name="kamion" class="easyui-validatebox" required="true">
			</div>
			<div class="fitem">
				<label>Дата&#58;</label>
				<input name="data" class="easyui-validatebox">
			</div>
			<div class="fitem">
				<label>Страна&#58;</label>
				<input name="strana">
			</div>
			<div class="fitem">
				<label>Бензиностанция&#58;</label>
				<input name="bezinostancia" class="easyui-validatebox">
			</div>
            <div class="fitem">
				<label>Количество&#58;</label>
				<input name="kolichestvo" class="easyui-validatebox">
			</div>
            <div class="fitem">
				<label>Километраж&#58;</label>
				<input name="kilometraj" class="easyui-validatebox">
			</div>
            <div class="fitem">
				<label>Тонаж&#58;</label>
				<input name="tonaj" class="easyui-validatebox">
			</div>
            <div class="fitem">
				<label>Фулиран&#58;</label>
				<input name="full" class="easyui-validatebox">
			</div>
		</form>
	</div>
	<div id="dlg-buttons">
		<a href="#" class="easyui-linkbutton" iconCls="icon-ok" onClick="saveZarejdane&#40;&#41;">Запис</a>
		<a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onClick="javascript&#58;$&#40;'#dlg'&#41;.dialog&#40;'close'&#41;">Отказ</a>
	</div>
</body>
Това е кода на самият скрипт

Code: Select all

<?php
	include 'conn.php';
	
	$page = isset&#40;$_POST&#91;'page'&#93;&#41; ? intval&#40;$_POST&#91;'page'&#93;&#41; &#58; 1;
	$rows = isset&#40;$_POST&#91;'rows'&#93;&#41; ? intval&#40;$_POST&#91;'rows'&#93;&#41; &#58; 10;
	$itemid = isset&#40;$_POST&#91;'vlekach_number'&#93;&#41; ? mysql_real_escape_string&#40;$_POST&#91;'vlekach_number'&#93;&#41; &#58; '';
	
	$offset = &#40;$page-1&#41;*$rows;
	
	$result = array&#40;&#41;;
	
	$where = "vlekach like '$itemid%' ";
	mysql_query&#40;"SET CHARACTER SET utf8"&#41;;
	$rs = mysql_query&#40;"select count&#40;*&#41; from zarejdania where " . $where&#41;;
	$row = mysql_fetch_row&#40;$rs&#41;;
	$result&#91;"total"&#93; = $row&#91;0&#93;;
	
	$rs = mysql_query&#40;"select * from zarejdania where " . $where . " limit $offset,$rows"&#41;;
	
	$items = array&#40;&#41;;
	while&#40;$row = mysql_fetch_object&#40;$rs&#41;&#41;&#123;
		array_push&#40;$items, $row&#41;;
	&#125;
	$result&#91;"rows"&#93; = $items;
	
	echo json_encode&#40;$result&#41;;
?>

User avatar
djman
Гуру
Гуру
Posts: 2800
Joined: Sat Sep 12, 2009 8:07 am
Answers: 107

Post by djman » Wed Jun 12, 2013 12:42 pm

изпълни същата заявка в phpmyadmin и виж дали ще ти върне същото...


select * from zarejdania where vlekach like 'PB 0031 PK%';

принципно би трябвало да работи. като въведеш PB 0 се изпраща заявка ...like 'PB 0%' и ще излезнат всички, които започват с дадения стринг и така нататък...
:roll:

Knoppix_
Турист
Турист
Posts: 322
Joined: Mon Aug 24, 2009 11:55 am

Post by Knoppix_ » Wed Jun 12, 2013 12:45 pm

Да но тази стойност в този инпут я взимам със $_ГЕТ което ми връща стойност която взима от адрес бара, след това тази стойност ако я дам поле = $нещо не ми се показват резултати, а когато е Like тогава пък излизат всички който съдържат PB ..

User avatar
djman
Гуру
Гуру
Posts: 2800
Joined: Sat Sep 12, 2009 8:07 am
Answers: 107

Post by djman » Wed Jun 12, 2013 12:49 pm

Аз виждам, че взимаш $itemid чрез $_POST :roll:

Сложно ли ще е да преправиш навсякъде формАта на номерата? Сам виждаш колко проблеми създава.

Но ако не искаш - в предните теми ти бяха предложили urlencode да слагаш на номера, когато го задаваш и ще стане нещо от рода на PB%200031... след това urldecode :roll:

Knoppix_
Турист
Турист
Posts: 322
Joined: Mon Aug 24, 2009 11:55 am

Post by Knoppix_ » Wed Jun 12, 2013 12:54 pm

хм това е интересно ама така и не можах да разбера къде да го сложа това в смисъл че дори и преправен одеве пробвах само с един номер като сменя и пак не ми се получи за това си мисля че проблема е другаде

User avatar
djman
Гуру
Гуру
Posts: 2800
Joined: Sat Sep 12, 2009 8:07 am
Answers: 107

Post by djman » Wed Jun 12, 2013 1:00 pm

Knoppix_ wrote:хм това е интересно ама така и не можах да разбера къде да го сложа това в смисъл че дори и преправен одеве пробвах само с един номер като сменя и пак не ми се получи за това си мисля че проблема е другаде
Ако ръчно напишеш в адресбара PB0031PK - без интервали, ще сработи ли? Аз ще ти отговоря: няма да сработи, защото $itemid го взимаш с $_POST !

input-a винаги предава точната стойност, дори ако напишеш 3 интервала, ще изпратиш 3 интервала.

Post Reply