Относно submit в while вади грешен резултат

crazzybg

Registered
Здравейте.
Бих искал да попитам тъй като нещо не ми е ясно изобщо защо не работи скрипта и почти се предадох ... 10 пъти от начало почвах и все едно и също става когато пробвам да натисна бутона
ето го и кода

Код:
$user = secure($_SESSION['user']);
$fu = mysql_query("SELECT * FROM user WHERE userid='$user'");
$u = mysql_fetch_assoc($fu);

$fe = mysql_query("SELECT * FROM user WHERE id!='$u[id]' ORDER BY RAND() LIMIT 5");
while($e = mysql_fetch_assoc($fe)){
echo"<form method='POST'><input type='submit' name='$e[id]' value='$e[userid]'></form>";	
if(isset($_POST["$e[id]"])){
$a = $e['userid'];
	
}
	
}
echo"$a";

Идеята е да ми изведе 5 бутона ( по принцип толкова съм решил ) които след натискане да имат някакъв ефект.
В моя случей мисля ,че всичко ми е вярно но резултата е следния.

при натискане на даден бутон я ме изведе името я нищо не извежда...
някъкви идеи ?

*Интересно е че ползвам сходен скрипт на друга страница и там нямам проблеми като се има на предвид ,че е копирана от този... или може би съм забелязал нещо и съм го поправил но сега съм PASS.

Моля някой да помогне :)
 
Пробвах го с For
Код:
$user = secure($_SESSION['user']);
$fu = mysql_query("SELECT * FROM user WHERE userid='$user'");
$u = mysql_fetch_assoc($fu);



for($i=0;$i<5;++$i){
$fe = mysql_query("SELECT * FROM user WHERE id!='$u[id]' ORDER BY RAND()");	
$e = mysql_fetch_assoc($fe);


echo"<form method='POST'><input type='submit' name='$i' value='$e[userid]'></form>";	
if(isset($_POST["$i"])){
$a = $e['userid'];
	
}
	
}
echo"$a";

Така сега всички бутони работят *НО извършва функцията след рефреша
то ест ако мога да го обесня така да речем че виждам цифри 1,2,3,4,5
натискам цифра 1 и трябва да ми изведе информация за нея
но след натискане то те се сменят и става 7,5,8,3,2 примерно и извежда резултат от 7 а не от 1 :( по принцип вече наистина съм Pass и моля някой да прояви разбиране и да помогне ако може :(

Благодаря предварително.

*edit:
Като цяло има и алтернатива с запис в датабазата но предпочитам да не се натоварва с нова таблица и само запиши и изтрий
 
Използвай ajax, като натиснеш бутона да ти извежда съответно информацията за потребителя с това id
 
Не мога да разбера точно какво трябва да стане, но да речем, че съм разбрал нещо си.

Ето ти примерен код. Надявам се да успееш да го нагодиш с твоите заявки, че ме мързи да ти го оправям.

http://pastebin.com/Vf4DnWmc

ЕДИТ: http://pastebin.com/pdwN4hqy - това може би трябва да е твоя вариант. Но въобще нямам представа дали ще работи, защото въобще не съм го тествал.
 
Значи идеята да дам малко повече оглет на нещата е следната
да речем че съм щтракнал на дадената страница кадето е този скрипт
и със while & mysql rand() limit 5 извеждам 5 реда с случайни потребители които суответно към тях има бутон за натискане, при което когато натисна бутона да речем ADD на потребител ТОЙ то да изкара информация за ТОЙ и съответно горните 5 реда да се променят.

За сега имам 2 варианта без javascript ili jquery ili ajax които са.
1. While
С него ми изкарва информация само и единствено когато потребителя
при натискане се запази на същия ред:
(преди)(след) натискане
ТОЙ -> ТОЙ (ако съм натиснал ТОЙ ще ми изведе за него)
ТЯ -> ТО (ако съм натиснал ТЯ няма нищо да ми изведе)
ТО -> ТЯ
НИЕ -> НИЕ
ВИЕ -> ВИЕ

2.For
С тази вункция ми извежда информацията на потребителя който е след натискане на бутона:
ТОЙ -> ТО (ако съм натиснал ТОЙ ще ми изведе за TO)
ТЯ -> ТОЙ
ТО -> ТЯ
НИЕ -> НИЕ
ВИЕ -> ВИЕ


Това е цялата дилема.

*По принцип с while е безутказен метод ако няма в mysql функцията rand()
наистина всичко си работи както трябва
 
Приятел честно казано нищо не ти се разбира от обясненията и за това все още никой не ти е помогнал. Не разбирам защо правиш две заявки, дори самите заявки са ти странни id!='$u[id]' (където ид не е равно на у ид) слагаш ги в цикли и т.н. Нормално е да не работят нещата. Тия ТО -> ТЯ тотално ме объркаха :D. Карай по-ред тия бутони и тях ли ги вадиш от базата? Тествай като почнеш от начало не скачай направо в дълбокото. Направи само една заявка select ID from YOUR_TABLE order by rand() limit 5 виж дали има проблем и т.н.
 
това с тя и той беше пример за полетата по най прост пример ако го бях написал с цифри още повече щяха да се оплескат работата а за mysql... нормално е че търся потребители без моето име ... няма логика да изкача собственото ти име за да го добавиш , нали така ?
1. Взимам на потребителя ИД
2. После търся други ИД които не са равни на потребителското
3. Извличам 5 случайни на 5 реда с бутон
4. Трябва при натискане на бутона да вади информацията и да са се сменили
потребителите които са се виждали.

По ясно от това не знам как да го напиша :)

Благодаря за отделеното внимание мисля че с това туширвам моята глупост :)


*едит

Не вадя бутоните от базата просто ги правя с ID на мястото на името...
за да може да изведе за конкретния потребител информацията

реално този ред мога да го променя и така ще премахна другите 2 реда горе
$fe = mysql_query("SELECT * FROM user WHERE userid!='$user' ORDER BY RAND() LIMIT 5

но после ползвам информация от потребителя и пак трябва да го пиша
 
Първо искаш да се пазят после да се сменят. Аз съм пас вече, разбрах какво искаш, но нямам време да ти поправям кода.
 
По принцип в момента си работи с запис в датабаза но идеята ми е дали е възможно някъкси без този запис всичко да работи
 

Горе