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

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

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

Post by Knoppix_ » Tue Jun 11, 2013 6:45 am

Здравейте,
имам следният код

Code: Select all

<?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;
	$offset = &#40;$page-1&#41;*$rows;
	$result = array&#40;&#41;;
	include 'conn.php';
	mysql_query&#40;"SET CHARACTER SET utf8"&#41;;
	$rs = mysql_query&#40;"select count&#40;*&#41; from zarejdania"&#41;;
	$row = mysql_fetch_row&#40;$rs&#41;;
	$result&#91;"total"&#93; = $row&#91;0&#93;;
	$rs = mysql_query&#40;"select * from zarejdania 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;;

?>
Адреса в адрес бара ми е

Code: Select all

index.php?page=view-gorivo&kamion=PB 0031 PK
Трябва ми да взема стойноста на kamion и да я вкарам като клауза в mysql заявката само че ако стойноста я взема с $kamion = $_GET['kamion']; кода спира да работи не мога да разбера защо

User avatar
Hous
Гуру
Гуру
Posts: 2538
Joined: Sat Mar 22, 2008 9:19 pm
Answers: 111
Location: У нас

Post by Hous » Tue Jun 11, 2013 7:43 am

Code: Select all

$page = isset&#40;$_POST&#91;'page'&#93;&#41; ? intval&#40;$_POST&#91;'page'&#93;&#41; &#58; 1;
така работи?А ако го смениш _POST със _GET несработва?

Имам 2 предположения,едното е да е проблем в празното място в адреса, замени го със %20
другото е

Code: Select all

$page=$_GET&#91;'page'&#93;;
if&#40;!ctype_digit&#40;$page&#41; OR !isSet&#40;$page&#41;&#41;&#123;$from='1';&#125;
edit:също може да е проблема (най-вероятно е) във това ,че вече имаш параметър page=view-gorivo
и го подаваш втори път... оптай да смениш имената.

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

Post by Knoppix_ » Tue Jun 11, 2013 7:46 am

Е да де ама идеята е да взема от адрес бара 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]' ');

joTunkiq
Потребител
Потребител
Posts: 827
Joined: Tue Dec 25, 2012 10:03 am
Answers: 142
Contact:

Post by joTunkiq » Tue Jun 11, 2013 8:05 am

като пращаш ГЕТ -> ползвай urlencode($text), a при вземането на GET , urldecode($text) . Първата функция ще замести празните места и специялните символи за да направи валидна ГЕТ променлива .. , а със втората ф-я ще ти върне стойноста точно както си е .. без никакви специялни знаци .. ии въобще както си е оригинала :) :?:

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

Post by Knoppix_ » Tue Jun 11, 2013 8:19 am

Което какво ще рече в пример

User avatar
Hous
Гуру
Гуру
Posts: 2538
Joined: Sat Mar 22, 2008 9:19 pm
Answers: 111
Location: У нас

Post by Hous » Tue Jun 11, 2013 8:54 am

Разбрах идеята на скрипта,но ти казвам,че трябва даимаш 2 различни имена за страниците:
saita.com/page=bla2-bla&kamion=PK%20BLBLA%20pb&stranica=1

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

ps:jotunkia си даде примера:

Code: Select all

urlencode&#40;$text&#41;
там където пращаш гет , примерно някакъв бутон:

Code: Select all

<a href="neshto.com/something.php?=$neshto
трябва да стане

Code: Select all

<a href="neshto.com/something.php?=urlencode&#40;$neshto&#41;
и във файла които взимаш стойността на _GET
слагаш

Code: Select all

$get=urldecode&#40;$_GET&#91;'neshtoto'&#93;&#41;;

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

Post by Knoppix_ » Tue Jun 11, 2013 10:17 am

До тук добре само че страницираноето го правя с jquery, тоест това всичкото е един джава скрипт който извиква файла гет_дата.пхп който прави връзката с базата, т.е не мога да разбера как да променя файла така че да сменя и страницирането без да наруша страницирането с джава скирпта

Code: Select all

				function newZarejdane&#40;&#41;&#123;
			$&#40;'#dlg'&#41;.dialog&#40;'open'&#41;.dialog&#40;'setTitle','Нов запис'&#41;;
			$&#40;'#fm'&#41;.form&#40;'clear'&#41;;
			url = 'pages/save_zarejdane.php';
		&#125;
		function editZarejdane&#40;&#41;&#123;
			var row = $&#40;'#dg'&#41;.datagrid&#40;'getSelected'&#41;;
			if &#40;row&#41;&#123;
				$&#40;'#dlg'&#41;.dialog&#40;'open'&#41;.dialog&#40;'setTitle','Редакция на запис'&#41;;
				$&#40;'#fm'&#41;.form&#40;'load',row&#41;;
				url = 'pages/update_zarejdane.php?id='+row.id;
			&#125;
		&#125;
		function saveZarejdane&#40;&#41;&#123;
			$&#40;'#fm'&#41;.form&#40;'submit',&#123;
				url&#58; url,
				onSubmit&#58; function&#40;&#41;&#123;
					return $&#40;this&#41;.form&#40;'validate'&#41;;
				&#125;,
				success&#58; function&#40;result&#41;&#123;
					var result = eval&#40;'&#40;'+result+'&#41;'&#41;;
					if &#40;result.success&#41;&#123;
						$&#40;'#dlg'&#41;.dialog&#40;'close'&#41;;		// close the dialog
						$&#40;'#dg'&#41;.datagrid&#40;'reload'&#41;;	// reload the user data
					&#125; else &#123;
						$.messager.show&#40;&#123;
							title&#58; 'Грешка',
							msg&#58; result.msg
						&#125;&#41;;
					&#125;
				&#125;
			&#125;&#41;;
		&#125;
		function removeZarejdane&#40;&#41;&#123;
			var row = $&#40;'#dg'&#41;.datagrid&#40;'getSelected'&#41;;
			if &#40;row&#41;&#123;
				$.messager.confirm&#40;'Потвърждение','Сигурни ли сте че искате да изтриете този запис?',function&#40;r&#41;&#123;
					if &#40;r&#41;&#123;
						$.post&#40;'pages/remove_zarejdane.php',&#123;id&#58;row.id&#125;,function&#40;result&#41;&#123;
							if &#40;result.success&#41;&#123;
								$&#40;'#dg'&#41;.datagrid&#40;'reload'&#41;;	// reload the user data
							&#125; else &#123;
								$.messager.show&#40;&#123;	// show error message
									title&#58; 'Грешка',
									msg&#58; result.msg
								&#125;&#41;;
							&#125;
						&#125;,'json'&#41;;
					&#125;
				&#125;&#41;;
			&#125;
		&#125;
Това е самото джейкуери

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

Post by Knoppix_ » Tue Jun 11, 2013 10:29 am

А това е файла в който подавам камион т.е това което искма да взема после

Code: Select all

<?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&#40;'connect-db.php'&#41;;
        
        // number of results to show per page
        $per_page = 10;
        
        // figure out the total pages in the database
		mysql_query&#40;"SET CHARACTER SET utf8"&#41;;
        $result = mysql_query&#40;"SELECT * FROM vlekachi"&#41;;
        $total_results = mysql_num_rows&#40;$result&#41;;
        $total_pages = ceil&#40;$total_results / $per_page&#41;;

        // check if the 'page' variable is set in the URL &#40;ex&#58; view-paginated.php?page=1&#41;
        if &#40;isset&#40;$_GET&#91;'section'&#93;&#41; && is_numeric&#40;$_GET&#91;'section'&#93;&#41;&#41;
        &#123;
                $show_page = $_GET&#91;'section'&#93;;
                
                // make sure the $show_page value is valid
                if &#40;$show_page > 0 && $show_page <= $total_pages&#41;
                &#123;
                        $start = &#40;$show_page -1&#41; * $per_page;
                        $end = $start + $per_page; 
                &#125;
                else
                &#123;
                        // error - show first set of results
                        $start = 0;
                        $end = $per_page; 
                &#125;               
        &#125;
        else
        &#123;
                // if page isn't set, show first set of results
                $start = 0;
                $end = $per_page; 
        &#125;
        // 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 &#40;$i = $start; $i < $end; $i++&#41;
        &#123;
                // make sure that PHP doesn't try to show results that don't exist
                if &#40;$i == $total_results&#41; &#123; break; &#125;
        
                // 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&#40;$result, $i, 'ID'&#41; . '</td>';
                echo '<td>' . mysql_result&#40;$result, $i, 'vlekach'&#41; . '</td>';
                echo '<td><a href="?page=view-gorivo&kamion=' .mysql_result&#40;$result, $i, 'vlekach'&#41; . '">Преглед на зарежданията</a></td>';
				echo "</tr>"; 
        &#125;
        // close table>
        echo "</table>"; 
        
        // pagination
		
		 // display pagination
        
		echo "<br>";
        echo "<b>Страница</b> ";
        for &#40;$i = 1; $i <= $total_pages; $i++&#41;
        &#123;
                echo "<a href='?page=zarejdania&section=$i'>$i</a> ";
        &#125;
        echo "</p>";
        
?>


User avatar
Hous
Гуру
Гуру
Posts: 2538
Joined: Sat Mar 22, 2008 9:19 pm
Answers: 111
Location: У нас

Post by Hous » Tue Jun 11, 2013 10:59 am

Не мисля, че този jquery код има в него някъде странициране...
:lol:
Това е очевидно за редактиране на запис...

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

Post by Knoppix_ » Tue Jun 11, 2013 11:08 am

По начина който сте ми дали с urlencode не сработва скрипта пак спира да работи

Post Reply