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

C++ JAVA
Post Reply
crazzybg
Турист
Турист
Posts: 210
Joined: Sun Dec 11, 2011 10:30 pm

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

Post by crazzybg » Wed Dec 16, 2015 8:27 pm

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

Code: Select all

$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&#91;id&#93;' value='$e&#91;userid&#93;'></form>";	
if&#40;isset&#40;$_POST&#91;"$e&#91;id&#93;"&#93;&#41;&#41;&#123;
$a = $e&#91;'userid'&#93;;
	
&#125;
	
&#125;
echo"$a";
Идеята е да ми изведе 5 бутона ( по принцип толкова съм решил ) които след натискане да имат някакъв ефект.
В моя случей мисля ,че всичко ми е вярно но резултата е следния.

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

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

Моля някой да помогне :)
Last edited by crazzybg on Thu Dec 17, 2015 4:32 pm, edited 2 times in total.

crazzybg
Турист
Турист
Posts: 210
Joined: Sun Dec 11, 2011 10:30 pm

Относно while & submit

Post by crazzybg » Thu Dec 17, 2015 9:08 am

Пробвах го с For

Code: Select all

$user = secure&#40;$_SESSION&#91;'user'&#93;&#41;;
$fu = mysql_query&#40;"SELECT * FROM user WHERE userid='$user'"&#41;;
$u = mysql_fetch_assoc&#40;$fu&#41;;



for&#40;$i=0;$i<5;++$i&#41;&#123;
$fe = mysql_query&#40;"SELECT * FROM user WHERE id!='$u&#91;id&#93;' ORDER BY RAND&#40;&#41;"&#41;;	
$e = mysql_fetch_assoc&#40;$fe&#41;;


echo"<form method='POST'><input type='submit' name='$i' value='$e&#91;userid&#93;'></form>";	
if&#40;isset&#40;$_POST&#91;"$i"&#93;&#41;&#41;&#123;
$a = $e&#91;'userid'&#93;;
	
&#125;
	
&#125;
echo"$a";
Така сега всички бутони работят *НО извършва функцията след рефреша
то ест ако мога да го обесня така да речем че виждам цифри 1,2,3,4,5
натискам цифра 1 и трябва да ми изведе информация за нея
но след натискане то те се сменят и става 7,5,8,3,2 примерно и извежда резултат от 7 а не от 1 :( по принцип вече наистина съм Pass и моля някой да прояви разбиране и да помогне ако може :(

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

*edit:
Като цяло има и алтернатива с запис в датабазата но предпочитам да не се натоварва с нова таблица и само запиши и изтрий

User avatar
pLe0mAx
Нов
Нов
Posts: 137
Joined: Wed May 06, 2009 8:32 am

Post by pLe0mAx » Thu Dec 17, 2015 8:00 pm

Използвай ajax, като натиснеш бутона да ти извежда съответно информацията за потребителя с това id

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 882
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 63

Post by Revelation » Thu Dec 17, 2015 8:53 pm

Не мога да разбера точно какво трябва да стане, но да речем, че съм разбрал нещо си.

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

http://pastebin.com/Vf4DnWmc

ЕДИТ: http://pastebin.com/pdwN4hqy - това може би трябва да е твоя вариант. Но въобще нямам представа дали ще работи, защото въобще не съм го тествал.

crazzybg
Турист
Турист
Posts: 210
Joined: Sun Dec 11, 2011 10:30 pm

Относно while & submit

Post by crazzybg » Fri Dec 18, 2015 8:13 am

Значи идеята да дам малко повече оглет на нещата е следната
да речем че съм щтракнал на дадената страница кадето е този скрипт
и със while & mysql rand() limit 5 извеждам 5 реда с случайни потребители които суответно към тях има бутон за натискане, при което когато натисна бутона да речем ADD на потребител ТОЙ то да изкара информация за ТОЙ и съответно горните 5 реда да се променят.

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

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


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

*По принцип с while е безутказен метод ако няма в mysql функцията rand()
наистина всичко си работи както трябва

User avatar
teroristd
Много Редовен
Много Редовен
Posts: 1769
Joined: Thu Feb 18, 2010 11:50 am
Answers: 83

Post by teroristd » Fri Dec 18, 2015 9:10 am

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

crazzybg
Турист
Турист
Posts: 210
Joined: Sun Dec 11, 2011 10:30 pm

Относно while & submit

Post by crazzybg » Fri Dec 18, 2015 9:16 am

това с тя и той беше пример за полетата по най прост пример ако го бях написал с цифри още повече щяха да се оплескат работата а за mysql... нормално е че търся потребители без моето име ... няма логика да изкача собственото ти име за да го добавиш , нали така ?
1. Взимам на потребителя ИД
2. После търся други ИД които не са равни на потребителското
3. Извличам 5 случайни на 5 реда с бутон
4. Трябва при натискане на бутона да вади информацията и да са се сменили
потребителите които са се виждали.

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

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


*едит

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

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

но после ползвам информация от потребителя и пак трябва да го пиша

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 882
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 63

Post by Revelation » Fri Dec 18, 2015 11:29 am

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

crazzybg
Турист
Турист
Posts: 210
Joined: Sun Dec 11, 2011 10:30 pm

Относно while & submit

Post by crazzybg » Fri Dec 18, 2015 11:50 am

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

Post Reply