Проблем с PHP Не мога га използвам $_GET[]

Knoppix_

Registered
Здравейте,
имам следният код
Код:
<?php 
	$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
	$rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
	$offset = ($page-1)*$rows;
	$result = array();
	include 'conn.php';
	mysql_query("SET CHARACTER SET utf8");
	$rs = mysql_query("select count(*) from zarejdania");
	$row = mysql_fetch_row($rs);
	$result["total"] = $row[0];
	$rs = mysql_query("select * from zarejdania limit $offset,$rows");
	
	$items = array();
	while($row = mysql_fetch_object($rs)){
		array_push($items, $row);
	}
	$result["rows"] = $items;

	echo json_encode($result);

?>
Адреса в адрес бара ми е
Код:
index.php?page=view-gorivo&kamion=PB 0031 PK
Трябва ми да взема стойноста на kamion и да я вкарам като клауза в mysql заявката само че ако стойноста я взема с $kamion = $_GET['kamion']; кода спира да работи не мога да разбера защо
 
Код:
$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
така работи?А ако го смениш _POST със _GET несработва?

Имам 2 предположения,едното е да е проблем в празното място в адреса, замени го със %20
другото е
Код:
$page=$_GET['page'];
if(!ctype_digit($page) OR !isSet($page)){$from='1';}

edit:също може да е проблема (най-вероятно е) във това ,че вече имаш параметър page=view-gorivo
и го подаваш втори път... оптай да смениш имената.
 
Е да де ама идеята е да взема от адрес бара kamion=PB 0032 PK а това $page e за страницирането

&kamion=PB 0031 PK това ми трябва да взема т.е PB 0031 PK да влезе като WHERE clause в заявката т.е да стане
$rs = mysql_query("select count(*) from zarejdania WHERE kamion='$_GET[kamion]' ');
 
като пращаш ГЕТ -> ползвай urlencode($text), a при вземането на GET , urldecode($text) . Първата функция ще замести празните места и специялните символи за да направи валидна ГЕТ променлива .. , а със втората ф-я ще ти върне стойноста точно както си е .. без никакви специялни знаци .. ии въобще както си е оригинала :) :?:
 
Разбрах идеята на скрипта,но ти казвам,че трябва даимаш 2 различни имена за страниците:
saita.com/page=bla2-bla&kamion=PK%20BLBLA%20pb&stranica=1

където %20 реалное празно място

ps:jotunkia си даде примера:
Код:
urlencode($text)
там където пращаш гет , примерно някакъв бутон:
Код:
<a href="neshto.com/something.php?=$neshto
трябва да стане
Код:
<a href="neshto.com/something.php?=urlencode($neshto)
и във файла които взимаш стойността на _GET
слагаш
Код:
$get=urldecode($_GET['neshtoto']);
 
До тук добре само че страницираноето го правя с jquery, тоест това всичкото е един джава скрипт който извиква файла гет_дата.пхп който прави връзката с базата, т.е не мога да разбера как да променя файла така че да сменя и страницирането без да наруша страницирането с джава скирпта
Код:
				function newZarejdane(){
			$('#dlg').dialog('open').dialog('setTitle','Нов запис');
			$('#fm').form('clear');
			url = 'pages/save_zarejdane.php';
		}
		function editZarejdane(){
			var row = $('#dg').datagrid('getSelected');
			if (row){
				$('#dlg').dialog('open').dialog('setTitle','Редакция на запис');
				$('#fm').form('load',row);
				url = 'pages/update_zarejdane.php?id='+row.id;
			}
		}
		function saveZarejdane(){
			$('#fm').form('submit',{
				url: url,
				onSubmit: function(){
					return $(this).form('validate');
				},
				success: function(result){
					var result = eval('('+result+')');
					if (result.success){
						$('#dlg').dialog('close');		// close the dialog
						$('#dg').datagrid('reload');	// reload the user data
					} else {
						$.messager.show({
							title: 'Грешка',
							msg: result.msg
						});
					}
				}
			});
		}
		function removeZarejdane(){
			var row = $('#dg').datagrid('getSelected');
			if (row){
				$.messager.confirm('Потвърждение','Сигурни ли сте че искате да изтриете този запис?',function(r){
					if (r){
						$.post('pages/remove_zarejdane.php',{id:row.id},function(result){
							if (result.success){
								$('#dg').datagrid('reload');	// reload the user data
							} else {
								$.messager.show({	// show error message
									title: 'Грешка',
									msg: result.msg
								});
							}
						},'json');
					}
				});
			}
		}
Това е самото джейкуери
 
А това е файла в който подавам камион т.е това което искма да взема после
Код:
<?php
/* 
        VIEW-PAGINATED.PHP
        Displays all data from 'players' table
        This is a modified version of view.php that includes pagination
*/

        // connect to the database
        include('connect-db.php');
        
        // number of results to show per page
        $per_page = 10;
        
        // figure out the total pages in the database
		mysql_query("SET CHARACTER SET utf8");
        $result = mysql_query("SELECT * FROM vlekachi");
        $total_results = mysql_num_rows($result);
        $total_pages = ceil($total_results / $per_page);

        // check if the 'page' variable is set in the URL (ex: view-paginated.php?page=1)
        if (isset($_GET['section']) && is_numeric($_GET['section']))
        {
                $show_page = $_GET['section'];
                
                // make sure the $show_page value is valid
                if ($show_page > 0 && $show_page <= $total_pages)
                {
                        $start = ($show_page -1) * $per_page;
                        $end = $start + $per_page; 
                }
                else
                {
                        // error - show first set of results
                        $start = 0;
                        $end = $per_page; 
                }               
        }
        else
        {
                // if page isn't set, show first set of results
                $start = 0;
                $end = $per_page; 
        }
        // dispaly add new record
        
		               
        // display data in table
        echo "<table class=\"result\">";
        echo "<tr> <th></th><th>ID</th> <th>Камион</th><th></th> </tr>";

        // loop through results of database query, displaying them in the table 
        for ($i = $start; $i < $end; $i++)
        {
                // make sure that PHP doesn't try to show results that don't exist
                if ($i == $total_results) { break; }
        
                // echo out the contents of each row into a table
                echo "<tr>";
				echo '<td>' . '<img src=images/truck-icon.png border=\"0\" />' . '</td>'; 
                echo '<td>' . mysql_result($result, $i, 'ID') . '</td>';
                echo '<td>' . mysql_result($result, $i, 'vlekach') . '</td>';
                echo '<td><a href="?page=view-gorivo&kamion=' .mysql_result($result, $i, 'vlekach') . '">Преглед на зарежданията</a></td>';
				echo "</tr>"; 
        }
        // close table>
        echo "</table>"; 
        
        // pagination
		
		 // display pagination
        
		echo "<br>";
        echo "<b>Страница</b> ";
        for ($i = 1; $i <= $total_pages; $i++)
        {
                echo "<a href='?page=zarejdania&section=$i'>$i</a> ";
        }
        echo "</p>";
        
?>
 
Не мисля, че този jquery код има в него някъде странициране...
:lol:
Това е очевидно за редактиране на запис...
 
По начина който сте ми дали с urlencode не сработва скрипта пак спира да работи
 
По начина които обясняваш аз лично не мога да разбера къде е проблема,звучиш сякаш си направил код и ти не знаеш как работи и сега търсиш проблема ,а ние реално сме със затворени очи и налучкване...
Не мога да помогна така обяснено,съжалявам.
 
Това е в кода в първата страница с която извеждам от една база всички налични камиони
Код:
<?php
/* 
        VIEW-PAGINATED.PHP
        Displays all data from 'players' table
        This is a modified version of view.php that includes pagination
*/

        // connect to the database
        include('connect-db.php');
        
        // number of results to show per page
        $per_page = 10;
        
        // figure out the total pages in the database
		mysql_query("SET CHARACTER SET utf8");
        $result = mysql_query("SELECT * FROM vlekachi");
        $total_results = mysql_num_rows($result);
        $total_pages = ceil($total_results / $per_page);

        // check if the 'page' variable is set in the URL (ex: view-paginated.php?page=1)
        if (isset($_GET['section']) && is_numeric($_GET['section']))
        {
                $show_page = $_GET['section'];
                
                // make sure the $show_page value is valid
                if ($show_page > 0 && $show_page <= $total_pages)
                {
                        $start = ($show_page -1) * $per_page;
                        $end = $start + $per_page; 
                }
                else
                {
                        // error - show first set of results
                        $start = 0;
                        $end = $per_page; 
                }               
        }
        else
        {
                // if page isn't set, show first set of results
                $start = 0;
                $end = $per_page; 
        }
        // dispaly add new record
        
		               
        // display data in table
        echo "<table class=\"result\">";
        echo "<tr> <th></th><th>ID</th> <th>Камион</th><th></th> </tr>";

        // loop through results of database query, displaying them in the table 
        for ($i = $start; $i < $end; $i++)
        {
                // make sure that PHP doesn't try to show results that don't exist
                if ($i == $total_results) { break; }
        
                // echo out the contents of each row into a table
                echo "<tr>";
				echo '<td>' . '<img src=images/truck-icon.png border=\"0\" />' . '</td>'; 
                echo '<td>' . mysql_result($result, $i, 'ID') . '</td>';
                echo '<td>' . mysql_result($result, $i, 'vlekach') . '</td>';
                echo '<td><a href="?page=view-gorivo&kamion=' .mysql_result($result, $i, 'vlekach') . '">Преглед на зарежданията</a></td>';
				echo "</tr>"; 
        }
        // close table>
        echo "</table>"; 
        
        // pagination
		
		 // display pagination
        
		echo "<br>";
        echo "<b>Страница</b> ";
        for ($i = 1; $i <= $total_pages; $i++)
        {
                echo "<a href='?page=zarejdania&section=$i'>$i</a> ";
        }
        echo "</p>";
        
?>
Това е страницата в която вадя резултатите вече използвайки този модул jeditable
Код:
<div style="float:right; margin-right:25px; margin-top:-32px;">
<a href="?page=zarejdania"><img src="images/close.png" border="0" /></a>
</div>
	<style type="text/css">
		#fm{
			margin:0;
			padding:10px 30px;
		}
		.ftitle{
			font-size:14px;
			font-weight:bold;
			color:#666;
			padding:5px 0;
			margin-bottom:10px;
			border-bottom:1px solid #ccc;
		}
		.fitem{
			margin-bottom:5px;
		}
		.fitem label{
			display:inline-block;
			width:80px;
		}
	</style>
    <script type="text/javascript">

		</script>
</head>
<body>
<input type="text" name="number_reg" id="number_reg" value="<?php echo $_GET['kamion']?>">
	<table id="dg" title="Зареждане на гориво за влекач" class="easyui-datagrid" style="width:860px;height:400px"
			url="pages/get_zarejdane.php"
			toolbar="#toolbar" pagination="true"
			rownumbers="true" fitColumns="true" singleSelect="true">
		<thead>
			<tr>
				<th field="vlekach" width="80" align="center">Влекач</th>
				<th field="data" width="80" align="center">Дата</th>
                <th field="strana" width="90">Страна</th>
                <th field="bezinostancia" width="90">Бензиностанция</th>
                <th field="kolichestvo" width="90">Количество</th>
                <th field="kilometraj" width="90">Километраж</th>
                <th field="tonaj" width="90">Тонаж</th>
                <th field="full" width="90">Фулиран</th>
			</tr>
		</thead>
	</table>
	<div id="toolbar">
		<a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onClick="newZarejdane()">Нов запис</a>
		<a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onClick="editZarejdane()">Редакция</a>
		<a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onClick="removeZarejdane()">Изтриване</a>
</div>
	
	<div id="dlg" class="easyui-dialog" style="width:400px;padding:10px 20px"
			closed="true" buttons="#dlg-buttons">
		<div class="ftitle">Нов запис</div>
		<form id="fm" method="post" novalidate>
			<div class="fitem">
				<label>Влекач:</label>
				<input name="vlekach" class="easyui-validatebox" required="true">
			</div>
			<div class="fitem">
				<label>Дата:</label>
				<input name="data" class="easyui-validatebox">
			</div>
			<div class="fitem">
				<label>Страна:</label>
				<input name="strana" class="easyui-validatebox">
			</div>
            <div class="fitem">
				<label>Бензиностанция:</label>
				<input name="bezinostancia" class="easyui-validatebox">
			</div>
            			<div class="fitem">
				<label>Количество:</label>
				<input name="kolichestvo" class="easyui-validatebox">
			</div>
            <div class="fitem">
				<label>Километраж:</label>
				<input name="kilometraj" class="easyui-validatebox">
			</div>
                        <div class="fitem">
				<label>Тонаж:</label>
				<input name="tonaj" class="easyui-validatebox">
			</div>
            <div class="fitem">
				<label>Фулиран:</label>
				<input name="full" class="easyui-validatebox">
			</div>
		</form>
	</div>
	<div id="dlg-buttons">
		<a href="#" class="easyui-linkbutton" iconCls="icon-ok" onClick="saveZarejdane()">Запис</a>
		<a href="#" class="easyui-linkbutton" iconCls="icon-cancel" onClick="javascript:$('#dlg').dialog('close')">Отказ</a>
	</div>
</body>
</html>
А това е кода на файла гет_зареждане
Код:
<?php 
	$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
	$rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
	$offset = ($page-1)*$rows;
	$result = array();
	include 'conn.php';
	mysql_query("SET CHARACTER SET utf8");
	$rs = mysql_query("select count(*) from zarejdania");
	$row = mysql_fetch_row($rs);
	$result["total"] = $row[0];
	$rs = mysql_query("select * from zarejdania limit $offset,$rows");
	
	$items = array();
	while($row = mysql_fetch_object($rs)){
		array_push($items, $row);
	}
	$result["rows"] = $items;

	echo json_encode($result);
?>
Проблема идва от това че ако добавя променлива т.е дефинирам променлив някъде из последният код без дори да я давам като клауза кода спира да работи, независимо какво напиша дали $_ГЕТ или $_ПОСТ
Странното е друго ако във файла с който извикам страницата в която вкарам като информация гет_зареждаден дефинирам $_GET['kamion'] няма проблеми там си излиза проблема идва само в кода който фактически прави заявката към базата данни
 
Сори за офтопика , ама ако може да споделиш идеята на сайта, че с тея камоини от бая време се мъчиш
 
Идеята на цялото нещо да е се направи едн система която да разчита кой камион какви суми е изразходил за определен период от време
 
Добре де няма ли вариант това нещо да стане с някаква глобална променлива
 

Горе