Показать полную графическую версию : массив $_GET как его обработать
darksmoke
27-03-2008, 23:38
есть index.php
$conn = mysql_connect ("ххх", "ххх", "ххх")
or die ("Не могу подключится!");
mysql_select_db("ххх",$conn);
$result = mysql_query("SELECT * FROM category WHERE parent=0",$conn);
$num=0;
echo "<html><body><form name=test action=http://dvig/show.php method=GET>";
echo "<select name=klop size=1>";
while ($myrow = mysql_fetch_row($result))
{
$num++;
//printf ("<option value=%s>%s</option> ",$myrow[0],$myrow[2]);
echo "<option value='".$myrow[0]."'>".$myrow[2]."</option>";
}
echo "</select>\n";
echo "<input type=submit value=send>";
echo "</form></body></html>";
mysql_close($conn);
Не могу, взять результат в show.php
как его взять результат и начать с ним работать?
GETом так и не получится. Поставь method="post" и поймаешь в $_POST.
darksmoke
28-03-2008, 01:21
тю.. а $_GET чего не получится, я его вижу если пишу echo $_GET;
просто не могу понять как ловить....
а чем $_POST ловить, можно маленький пример?
так это же массив. Не эхом, а хотя бы print_r($_POST). Вот так вытащить переменную
<FORM METHOD="post" ACTION="<?$SELF_PHP?>">
<SELECT NAME="my">
<OPTION VALUE="odin">odin
<OPTION VALUE="dwa">dwa
</SELECT>
<INPUT TYPE="submit">
</FORM>
<?echo $_POST["my"]?>
дак я смотрю ты с базой работаешь, а как же такие первостепенные вопросы пропустил? Парадокс изучения php :)
bruder, почему же GET'ом не выйдет? Точно также, как и $_POST: $_GET['nya'];
vadimiron
28-03-2008, 10:29
darksmoke,
Напишите в show.php
echo "<pre>";print_r($_GET);echo "</pre>";
С помощью этого увидите всю структуру $_GET-а.
$_GET это обычный массив и работают с ним как с любым массивом в PHP
to Coutty, блин, опозорился. Я get в формах не использовал еще никогда. Расскаиваюсь :pray: . Но и сам учусь походу. Кстати посмотрел твой socoban, впечатлило. Я эту технологию еще не знаю, интересно было глянуть. А как ты логику игры придумал? Я перескочил сразу на 10 уровень и офигел от сложности
bruder, какую технологию? Рисование на canvas'е? Сам узнал полтора месяца назад)) Вот отсюда: http://forum.oszone.net/showthread.php?t=99162&page=1&pp=20 (рекомендую глянуть)
Игру эту изначально на мобильнике проходил. А повторить чужие наработки нетрудно на самом деле. Особенно уровни скопировать=Р
Потому в сокобане все уровни сразу и не открывают - чтобы постепенно опыта набирались =~_^= Хм... Надо учесть в следующих игрушках, что открыто в "печеньках" параметры передавать нельзя...
Ну ладно, это всё не по теме:) Если вопросы будут - в PM или другую тему.
darksmoke
28-03-2008, 20:52
Ну не получается у меня схватить массив (
кинте плз пример... . Целый день мучаюсь (
а какие проблемы? Пример рабочий сверху :) Просто post на get в method поменяй. Массив пишется заглавными буквами, $_GET[], когдато на этом попался. Код пришли, посмотрим где проблема
darksmoke
28-03-2008, 21:44
Разабрался, спасибо.
$conn = mysql_connect ("ххх", "ххх", "ххх")
or die ("Не могу подключится!");
mysql_select_db("ххх",$conn);
$result = mysql_query("SELECT * FROM category WHERE parent=0",$conn);
$num=0;
echo "<html><body><form name=test action=http://dvig/show.php method=GET>";
echo "<select name=klop size=1>";
while ($myrow = mysql_fetch_row($result))
{
$num++;
echo "<option value='".$myrow[0]."'>".$myrow[2]."</option>";
}
echo "</select>\n";
echo "<input type=submit value=send>";
echo "</form></body></html>";
mysql_close($conn);
В этом сдучае передается значение value. А как передать еще значение $myrow[2]?
хм.. я о такой возможности не знал, полазил в инете тоже ничего не нашел. Одна возможность - объеденить два значения, а при получении их разделить. И еще несколько рекомендаций: php тем хорош, что это встраиваемый язык, если все выводить эхом это плохо, затрачивается время на обработку функций. Я вынес создание селектбокса в функцию, чтобы разделить логику и представление:
<?
$conn = mysql_connect ("ххх", "ххх", "ххх")
or die ("Не могу подключится!");
mysql_select_db("ххх",$conn);
function build_option(){
$result = mysql_query("SELECT * FROM category WHERE parent=0",$conn);
$output = "";
while ($myrow = mysql_fetch_row($result)){
$output .= "<option value='".$myrow[0]."+".$myrow[2]."'>".$myrow[2]."</option>";
}
return $output;
}
?>
<html>
<body>
<form name="test" action="http://dvig/show.php" method="GET">
<select name="klop" size="1">
<?echo build_option();?>
</select>
<input type="submit" value="send">
</form>
</body>
</html>
<?mysql_close($conn);?>
<!-- вот собственно разделение переменной-->
<?
$opt = explode("+", $_GET['myselect']);
echo $opt[0]."<br>";
echo $opt[1];
?>
Я этот код НЕ ТЕСТИРОВАЛ, написал на глаз, поэтому могут быть ошибки. К тому же кто нить предложит лучшее решение, чего я тоже жду
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.